Documentation
¶
Index ¶
- func CheckSudo(password string) bool
- func CurlToSave(url, filename string, cover bool) bool
- func Developer() bool
- func GetOsSn(password string) (error, string)
- func GetOsSnSudo(password string) (error, string)
- func GetUserInfo() (*user.User, error)
- func IsDockerDevice(eth string) bool
- func IsIPv4(ipAddr string) bool
- func IsLoopBackV4(ipAddr string) bool
- func IsUos() bool
- func ProcessIsRunning(command string) bool
- func Version() string
- func WgetToSave(url, filename string) bool
- type ApiApt
- func (api *ApiApt) AptLocalInstallFile(filename, name string) (err error)
- func (api *ApiApt) AptLocalInstallStr(installStr, name string) bool
- func (api *ApiApt) Install(Package string) bool
- func (api *ApiApt) InstallList(pacList list.List) (ok, failed list.List)
- func (api *ApiApt) InstallSlice(pacList []string) (ok, failed list.List)
- func (api *ApiApt) LocalInstallList(fileList []string, name string) bool
- func (api *ApiApt) Uninstall(Package string, name string) (res bool)
- func (api *ApiApt) UninstallList(pacList list.List) (ok, failed list.List)
- func (api *ApiApt) UninstallSlice(pacList []string) (ok, failed list.List)
- func (api *ApiApt) UpdateIndex() (res bool)
- func (api *ApiApt) Upgrade() (res bool)
- type ApiConnection
- type ApiDpkg
- func (api *ApiDpkg) CheckPacKey(pac1, pac2 string) (result bool, pac string)
- func (api *ApiDpkg) CheckVersion(pac string, version string) (status_ bool, ver_ string)
- func (api *ApiDpkg) ConfigureAll()
- func (api *ApiDpkg) GetPackageStatus(pacPackage string) (m map[string]string)
- func (api *ApiDpkg) InstallFile(pac string, name string)
- func (api *ApiDpkg) InstallListLocal(fileList []string, name string)
- func (api *ApiDpkg) Installed(pac string) bool
- func (api *ApiDpkg) Uninstall(Package string)
- func (api *ApiDpkg) UninstallSlice(pacList []string)
- type ApiEth
- type ApiFile
- type ApiFileSudo
- type ApiNmcli
- type ApiService
- func (api *ApiService) Disable() *ApiService
- func (api *ApiService) Enable() *ApiService
- func (api *ApiService) Exists() bool
- func (api *ApiService) ReLoad() *ApiService
- func (api *ApiService) ReLoadDaemon() *ApiService
- func (api *ApiService) ReStart() *ApiService
- func (api *ApiService) Start() *ApiService
- func (api *ApiService) StatusGet() string
- func (api *ApiService) Stop() *ApiService
- type EthInfo
- type OsInfo
- type UserInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckSudo ¶
CheckSudo 检查提供的密码是否可以成功执行sudo命令。 该函数通过尝试执行需要sudo权限的命令来验证密码的有效性。 参数:
password - 用户提供的sudo密码。
返回值:
bool - 如果密码有效且命令执行成功,则返回true,否则返回false。
func CurlToSave ¶
CurlToSave 下载文件并保存到指定路径。 参数:
url: 需要下载的文件URL。 filename: 文件保存的路径。 cover: 是否覆盖已存在的文件。
返回值:
bool: 下载并保存成功返回true,否则返回false。
func Developer ¶
func Developer() bool
Developer 检测当前系统是否处于开发者模式。 该函数首先获取当前系统的类型,如果系统类型不是UOS,则直接返回true, 表示无需检测开发者模式。如果是UOS系统,则检查特定的文件是否存在, 以及文件中的内容是否为"1",以确定系统是否处于开发者模式。
返回值:
bool类型,如果系统处于开发者模式或不是UOS系统,则返回true;否则返回false。
func GetOsSn ¶ added in v1.6.18
GetOsSn 尝试以root权限获取操作系统序列号。 参数:
password - 用于提升权限的密码字符串。
返回值:
error - 如果执行过程中发生错误,可能不为nil。 string - 成功获取到的操作系统序列号字符串。
func GetOsSnSudo ¶ added in v1.6.19
GetOsSnSudo 使用管理员权限执行命令以获取系统的序列号。 该函数需要用户输入密码以进行身份验证。 参数:
password - 用户的管理员密码,用于身份验证。
返回值:
error - 如果执行命令时发生错误,将返回该错误。 string - 成功执行命令后,返回系统的序列号。
func GetUserInfo ¶
GetUserInfo 获取当前用户信息。 该函数调用 user.Current() 来获取当前用户的信息。 如果获取过程中发生错误,会记录错误日志并返回错误。 返回值:
*user.User: 当前用户的信息。 error: 如果获取用户信息时发生错误,则返回该错误。
func IsDockerDevice ¶ added in v1.6.13
IsDockerDevice 检查网络接口是否为 Docker 虚拟网桥
参数
eth 是网络接口的名称
返回值
表示网络接口是否为 Docker 虚拟网桥 ("docker0")
func IsIPv4 ¶ added in v1.4.3
IsIPv4 检查给定的IP地址是否是IPv4格式。 该函数首先使用net.ParseIP验证IP地址是否有效,然后通过检查地址字符串中是否包含"." 来确定它是否为IPv4地址。这种方法简单有效地区分IPv4和IPv6地址。
参数:
ipAddr (string): 需要验证的IP地址字符串。
返回值:
bool: 如果给定的IP地址是有效的IPv4地址,则返回true;否则返回false。
func IsLoopBackV4 ¶ added in v1.6.18
IsLoopBackV4 检查IPv4地址是否为回环地址 参数:
ipAddr: 待检查的IPv4地址字符串
返回值:
bool: 如果地址是回环地址,则返回true;否则返回false
说明:
此函数用于确定给定的IPv4地址是否属于回环地址范围 目前仅将"127.0.0.1"视为回环地址,这是一个简化的判断逻辑
func IsUos ¶ added in v1.6.18
func IsUos() bool
IsUos 判断当前操作系统是否为 UOS。
返回值:
- bool: 如果操作系统为 UOS,则返回 true;否则返回 false。
func ProcessIsRunning ¶ added in v1.6.27
ProcessIsRunning 检查指定的命令是否正在运行。 参数:
command (string): 需要检查的命令名称。
返回值:
bool: 如果指定的命令正在运行,则返回true;否则返回false。
func WgetToSave ¶
WgetToSave 下载指定URL的文件并保存为指定的文件名。 参数:
url: 需要下载的文件的URL。 filename: 下载文件后保存的文件名。
返回值:
bool: 下载是否成功。
Types ¶
type ApiApt ¶ added in v1.5.6
type ApiApt struct { Sudo *gcs.ApiSudo // 执行sudo命令 Err error // 错误信息 Debug bool // 是否开启Debug Info bool // 是否开启Info BlackHole bool // 是否使用黑洞模式(忽略错误信息) Ignore bool // 是否忽略标准输出 // contains filtered or unexported fields }
ApiApt 定义一个命令行密码结构体
func (*ApiApt) AptLocalInstallFile ¶ added in v1.5.6
AptLocalInstallFile 安装本地软件包文件,安装之前将会检测文件是否存在 该函数通过sudo权限执行apt命令来安装指定的软件包文件。 参数:
filename: 要安装的软件包文件名。 name: 软件包的名称,用于日志信息。
返回值:
可能发生的错误。
func (*ApiApt) AptLocalInstallStr ¶ added in v1.5.6
AptLocalInstallStr 安装指定的软件包字符串 参数:
installStr - 需要安装的软件包字符串 name - 软件包的名称,用于日志信息
返回值:
成功安装返回 true,否则返回 false
func (*ApiApt) Install ¶ added in v1.6.13
Install 安装指定的软件包 参数:
Package: 需要安装的软件包名称
返回值:
bool: 安装是否成功
func (*ApiApt) InstallList ¶ added in v1.6.13
InstallList 安装给定的软件包列表,并返回安装成功和失败的软件包列表。
参数:
- pacList: 包含待安装软件包的链表。
返回值:
- ok: 包含安装成功的软件包的链表。
- failed: 包含安装失败的软件包的链表。
func (*ApiApt) InstallSlice ¶ added in v1.6.13
InstallSlice 安装一组软件包并返回安装成功和失败的软件包列表 参数:
pacList []string: 待安装的软件包列表
返回值:
ok list.List: 安装成功的软件包列表 failed list.List: 安装失败的软件包列表
func (*ApiApt) LocalInstallList ¶ added in v1.5.6
LocalInstallList 接受一个文件列表和一个名称作为参数,将文件列表转换为字符串后调用AptLocalInstallStr方法进行处理 此函数的作用是通过提供的文件列表和名称参数,构造出一个安装字符串,并调用相应的安装处理方法 参数:
fileList []string: 待安装的文件列表 name string: 安装名称
返回值:
bool: 安装处理的结果状态
func (*ApiApt) Uninstall ¶ added in v1.6.13
Uninstall 卸载指定软件包 Package: 要卸载的软件包名称 name: 软件包的显示名称,用于日志 返回值 res: 表示卸载操作是否成功或忽略的结果
func (*ApiApt) UninstallList ¶ added in v1.6.13
UninstallList 卸载给定的软件包列表 参数 pacList 是一个包含待卸载软件包名称的链表 返回两个链表 ok 和 failed,分别包含卸载成功的软件包和卸载失败的软件包
func (*ApiApt) UninstallSlice ¶ added in v1.6.13
UninstallSlice 卸载一组软件包 pacList: 需要卸载的软件包列表 返回两个 list.List 类型的值,分别表示卸载成功和卸载失败的软件包列表
func (*ApiApt) UpdateIndex ¶ added in v1.6.13
UpdateIndex 更新API的索引 该函数通过继承当前API的设置来执行更新操作,并根据执行结果记录日志 返回值表示更新操作是否成功,无错误返回true,否则返回false
type ApiConnection ¶ added in v1.5.6
type ApiConnection struct { Name string // 连接名称(例如: dhcp) Types string // 连接类型(bridge/wifi/ethernet) Method string // 连接模式(auto) Dns []string // DNS列表 Dev string // 设备名称 Gw net.IP // 网关地址 Address net.IP // IP地址 Mask int // 子网掩码 Err error // 错误信息 UseConName string // 正在使用的连接名称 ConList []string // 连接列表 // contains filtered or unexported fields }
ApiConnection 网络连接管理结构
func (*ApiConnection) AddConnect ¶ added in v1.5.6
func (c *ApiConnection) AddConnect() error
AddConnect 添加一个新的网络连接配置 该方法配置了一个新的API连接,包括设置IP地址、DNS服务器、网关、子网掩码等信息 使用nmcli命令行工具来添加一个类型为ethernet的连接,并指定连接的名称和设备名 无需参数 返回error类型,表示命令执行的结果
func (*ApiConnection) AddDns ¶ added in v1.5.6
func (c *ApiConnection) AddDns() (err error)
AddDns 为当前API连接添加DNS服务器配置,默认(119.29.29.29 180.76.76.76) 该方法通过调用gcs.NewShell()创建一个新的Shell实例来执行命令。 它会检查ApiConnection的Dns属性,根据Dns列表中的服务器地址通过nmcli命令修改网络连接的DNS配置。 如果Dns列表为空,则会记录错误日志并返回错误提示。 返回值err用于指示是否在执行过程中遇到了错误。
func (*ApiConnection) GetConDnsList ¶ added in v1.6.13
func (c *ApiConnection) GetConDnsList(con string)
GetConDnsList 获取指定连接的DNS列表 该方法通过执行shell命令来获取指定连接的DNS信息 参数:
con: 指定的连接名称
返回值: 无
func (*ApiConnection) GetConList ¶ added in v1.6.13
func (c *ApiConnection) GetConList()
GetConList 获取当前系统的网络连接列表 该方法通过执行shell命令来获取网络连接信息,并解析结果以填充连接列表
func (*ApiConnection) GetUseCon ¶ added in v1.6.13
func (c *ApiConnection) GetUseCon()
GetUseCon 获取当前正在使用的网络连接配置。
该方法通过执行 `nmcli connection show --active` 命令来获取当前活动的网络连接信息。 如果命令执行失败或返回内容为空,则记录错误并设置 c.Err。
type ApiDpkg ¶ added in v1.5.6
type ApiDpkg struct { Sudo *gcs.ApiSudo // 执行sudo命令 Err error // 错误信息 Result bool // 操作结果 Debug bool // 是否开启Debug Info bool // 是否开启Info BlackHole bool // 是否使用黑洞模式(忽略错误信息) Ignore bool // 是否忽略标准输出 // contains filtered or unexported fields }
ApiDpkg 定义一个Dpkg管理结构
func (*ApiDpkg) CheckPacKey ¶ added in v1.6.13
CheckPacKey 检查系统中是否存在指定的软件包键 该方法通过运行shell命令'dpkg -l'来列出已安装的软件包,并搜索pac1和pac2关键词 如果找到匹配的软件包,返回true和软件包的名称;如果没有找到,返回false和空字符串 参数:
pac1 - 要检查的第一个软件包关键词 pac2 - 要检查的第二个软件包关键词
返回值:
result - 布尔值,表示是否找到了匹配的软件包 pac - 字符串,如果找到匹配的软件包,则返回软件包的名称
func (*ApiDpkg) CheckVersion ¶ added in v1.6.13
CheckVersion 检查指定软件包的版本是否与给定版本一致。 参数:
pac: 软件包的名称。 version: 需要检查的软件包版本。
返回值:
status_: 布尔值,指示软件包版本是否与给定版本一致。 ver_: 字符串,表示软件包的实际版本。
func (*ApiDpkg) ConfigureAll ¶ added in v1.6.13
func (api *ApiDpkg) ConfigureAll()
ConfigureAll 配置所有未初始化的软件包。 该方法使用sudo执行dpkg命令来配置所有未初始化的软件包。 如果配置成功,它会在日志中记录"Configure succeeded"; 如果配置失败,则记录"Configure Failed"。 最后,它将sudo操作的错误(如果有)赋值给api的Err属性。
func (*ApiDpkg) GetPackageStatus ¶ added in v1.6.13
GetPackageStatus 使用 Dpkg查询包状态, 通过res返回字典,通过status返回查询状态,字典key(status/Name/version)
func (*ApiDpkg) InstallFile ¶ added in v1.6.13
InstallFile 安装指定的软件包文件。 参数:
pac: 软件包文件的路径。 name: 软件包的名称,用于日志显示。
func (*ApiDpkg) InstallListLocal ¶ added in v1.6.13
InstallListLocal 安装本地软件包列表 该函数接收一个文件列表和一个名称,将文件列表转换为字符串后调用InstallFile进行安装 参数:
fileList []string: 待安装的本地软件包文件列表 name string: 软件包的名称
func (*ApiDpkg) Installed ¶ added in v1.6.13
Installed 检查指定的软件包是否已安装 参数:
pac: 要检查的软件包名称
返回值:
bool: 如果软件包已安装,则返回true;否则返回false
func (*ApiDpkg) Uninstall ¶ added in v1.6.13
Uninstall 方法用于卸载指定的软件包。 它通过调用 dpkg 命令来实现软件包的完全卸载。 参数:
Package: 需要卸载的软件包名称。
func (*ApiDpkg) UninstallSlice ¶ added in v1.6.13
UninstallSlice 卸载软件包列表中的软件包。
参数:
pacList: 需要卸载的软件包名称列表。
type ApiEth ¶ added in v1.5.6
type ApiEth struct { Index int // 网卡设备索引 Name string // 网卡名称 Ipv4 net.IP // IPV4地址 Mask int //子网掩码 Mac string // Mac物理地址 Err error // 错误信息 }
ApiEth 网卡信息结构体
type ApiFile ¶ added in v1.6.13
type ApiFile struct { PathAbs string // 操作对象绝对路径 PathBase string // 操作对象基础文件名 PathFormat string // 操作对象文件格式 Src string // 源文件 SrcAbs string // 源文件绝对路径 SrcBase string // 源文件基础文件名 SrcFormat string // 源文件格式 Dst string // 目标文件 DstAbs string // 目标文件绝对路径 DstBase string // 目标文件基础文件名 DstFormat string // 目标文件格式 Err error // 错误 // contains filtered or unexported fields }
ApiFile 文件管理
func (*ApiFile) Copy ¶ added in v1.6.13
Copy 复制文件/文件夹 参数 dst: 目标文件/文件夹的路径 返回值: 返回指向当前 ApiFile 实例的指针,用于链式调用
func (*ApiFile) Delete ¶ added in v1.6.13
Delete 删除文件/文件夹,默认使用Src文件 返回值: 返回指向当前 ApiFile 实例的指针,用于链式调用
func (*ApiFile) DeleteFile ¶ added in v1.6.13
DeleteFile 删除文件,默认使用Src文件 返回值: 返回指向当前 ApiFile 实例的指针,用于链式调用
type ApiFileSudo ¶ added in v1.6.13
type ApiFileSudo struct { Password string // 密码 ApiFile // 继承文件结构 // contains filtered or unexported fields }
ApiFileSudo 文件管理(超级权限)
func NewFileSudo ¶ added in v1.6.13
func NewFileSudo(src, password string) *ApiFileSudo
NewFileSudo 文件管理模块
func (*ApiFileSudo) CopySudo ¶ added in v1.6.13
func (api *ApiFileSudo) CopySudo(dst string) *ApiFileSudo
CopySudo 使用Sudo权限复制文件/文件夹 参数:
dst - 目标路径
返回值:
*ApiFileSudo - 执行复制操作后的ApiFileSudo实例指针
func (*ApiFileSudo) DeleteFileSudo ¶ added in v1.6.13
func (api *ApiFileSudo) DeleteFileSudo(filename string) *ApiFileSudo
DeleteFileSudo 使用Sudo权限删除文件 参数:
filename - 要删除的文件名称
返回值:
*ApiFileSudo - 执行删除操作后的ApiFileSudo实例指针
func (*ApiFileSudo) DeleteSudo ¶ added in v1.6.13
func (api *ApiFileSudo) DeleteSudo(filename string) *ApiFileSudo
DeleteSudo 使用Sudo权限删除文件/文件夹 参数:
filename - 要删除的文件/文件夹名称
返回值:
*ApiFileSudo - 执行删除操作后的ApiFileSudo实例指针
func (*ApiFileSudo) MoveSudo ¶ added in v1.6.13
func (api *ApiFileSudo) MoveSudo(dst string) *ApiFileSudo
MoveSudo 使用Sudo权限移动文件/文件夹 参数:
dst - 目标路径
返回值:
*ApiFileSudo - 执行移动操作后的ApiFileSudo实例指针
type ApiNmcli ¶ added in v1.5.6
type ApiNmcli struct { DefaultGw net.IP // 当前默认网关 DefaultDevices string // 当前默认网卡设备 Err error // 错误信息 // contains filtered or unexported fields }
ApiNmcli 网卡管理
func (*ApiNmcli) GetAllEthInfo ¶ added in v1.6.13
GetAllEthInfo 获取所有以太网卡的信息
返回值:
[]ApiEth - 包含所有以太网卡信息的切片,
error - 错误信息(如果有的话)
func (*ApiNmcli) GetConnectionList ¶ added in v1.5.6
GetConnectionList 获取连接列表 本函数通过执行shell命令来获取特定设备类型的网络连接列表 它首先检查是否有设备列表,如果没有,则直接返回false 然后构造并执行一个shell命令来过滤出所需的连接类型和设备 最后,处理命令的输出,将其分割成字符串切片,并移除其中的空元素 返回值表示命令执行是否成功
func (*ApiNmcli) GetDefaultRouteInfo ¶ added in v1.6.13
GetDefaultRouteInfo 获取默认路由信息,包括默认网关地址和默认设备 该方法通过执行"ip -4 route show default"命令来获取默认路由信息,并解析命令输出以提取默认网关地址和默认设备 如果成功获取到默认网关地址和默认设备,则更新ApiNmcli实例的DefaultGw和DefaultDevices字段 如果在解析过程中遇到错误或找不到默认网关地址,则返回相应的错误
type ApiService ¶ added in v1.5.6
type ApiService struct { Name string // 服务名称 Err error // 错误 Status string // 当前状态 Password string // Sudo权限密码 // contains filtered or unexported fields }
ApiService 服务管理结构
func NewService ¶ added in v1.5.5
func NewService(name, password string) *ApiService
func (*ApiService) Disable ¶ added in v1.5.7
func (api *ApiService) Disable() *ApiService
Disable 禁用API服务。通过运行sudo命令来禁用服务。 返回值: *ApiService 返回API服务的实例,以便进行链式调用。
func (*ApiService) Enable ¶ added in v1.5.7
func (api *ApiService) Enable() *ApiService
Enable 启用API服务。通过运行sudo命令来启用服务。 返回值: *ApiService 返回API服务的实例,以便进行链式调用。
func (*ApiService) Exists ¶ added in v1.5.8
func (api *ApiService) Exists() bool
Exists 检查服务是否存在于系统中。 该方法通过运行外部命令并解析结果来确定服务是否存在。 返回值: 如果服务存在,则返回true;否则返回false。
func (*ApiService) ReLoad ¶ added in v1.5.6
func (api *ApiService) ReLoad() *ApiService
ReLoad 重新加载服务配置,而不终止服务。 该方法使用sudo权限执行systemctl reload命令来重新加载服务配置。 参数: 无 返回值: *ApiService - 返回ApiService的指针,以便进行链式调用。
func (*ApiService) ReLoadDaemon ¶ added in v1.5.6
func (api *ApiService) ReLoadDaemon() *ApiService
ReLoadDaemon 重新加载systemd守护进程配置。 这个方法不接受任何参数,因为它仅负责触发systemctl reload-daemon操作。 返回值: *ApiService 返回API服务的实例,以便进行链式调用。
func (*ApiService) ReStart ¶ added in v1.5.6
func (api *ApiService) ReStart() *ApiService
ReStart 重启 API 服务 该方法使用 sudo 特权执行 systemctl restart 命令来重启服务 返回值是 *ApiService,即 ApiService 的指针,方便链式调用
func (*ApiService) Start ¶ added in v1.5.6
func (api *ApiService) Start() *ApiService
Start 启动 API 服务 该方法使用 sudo 特权执行 systemctl start 命令来启动服务 返回值是 *ApiService,即 ApiService 的指针,方便链式调用
func (*ApiService) StatusGet ¶ added in v1.6.27
func (api *ApiService) StatusGet() string
StatusGet 获取 API 服务的状态 该方法首先检查服务是否存在,如果不存在则返回 "not exists" 如果服务存在,它将通过运行 shell 命令来查询服务的 ActiveState 属性 最后返回服务的状态,可能的值包括 "active"、"inactive" 或 "unknown"
func (*ApiService) Stop ¶ added in v1.5.6
func (api *ApiService) Stop() *ApiService
Stop 停止 API 服务 该方法使用 sudo 特权执行 systemctl stop 命令来停止服务 返回值是 *ApiService,即 ApiService 的指针,方便链式调用