glbm

package module
v1.5.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 30, 2023 License: MPL-2.0 Imports: 13 Imported by: 0

README

glbm

介绍

glbm的全称是(Go Linux Basic module), 即使用Golang编写的Linux基础模块

Gitee 项目地址

特色

  • 使用全中文注释,即使小白也能轻松上手
  • 完全开源、永久免费

功能清单

详细功能清单请访问pkg.go.Dev

安装

关闭校验

设置环境变量

export GOSUMDB="off"
开始安装

首先进入你的项目根目录,然后执行下面的命令

go err -u gitee.com/liumou_site/glbm

效果如下

➜  demo go err -u gitee.com/liumou_site/glbm
go: downloading gitee.com/liumou_site/glbm v1.3.4
go: gitee.com/liumou_site/glbm upgrade => v1.3.4
go: downloading gitee.com/liumou_site/gcs v1.2.3
go: downloading gitee.com/liumou_site/logger v1.1.1
go: downloading github.com/spf13/cast v1.5.0
➜  demo

使用

Demo

最终请看单元测试案例

其他演示
package main

import (
	"fmt"
	"gitee.com/liumou_site/glbm"
)

// Ju 权限验证
func Ju() {
	g := glbm.CheckSudo("1")
	if g {
		fmt.Println("密码检验正确")
	} else {
		fmt.Println("密码错误或无权限")
	}
	d := glbm.Developer()
	if d {
		fmt.Println("已开启开发者")
	} else {
		fmt.Println("未开启开发者")
	}
}

// GetUser 获取用户信息
func GetUser() {
	get, username, uid, uHome := glbm.GetUserInfo(false)
	if get {
		fmt.Println(username)
		fmt.Println(uid)
		fmt.Println(uHome)
	}
}

// OsInfo 获取系统信息
func OsInfo() {
	osType, osArch, ov := glbm.GetOsInfo()
	fmt.Println(osType)
	fmt.Println(osArch)
	fmt.Println(ov)
	GetUser()
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckSudo

func CheckSudo(password string) bool

CheckSudo 判断是否拥有sudo权限

func CurlToSave

func CurlToSave(url, filename string, cover bool) bool

CurlToSave 使用Curl下载文件到指定路径(cover是否覆盖已有文件)

func Developer

func Developer() bool

Developer UOS系统下检查是否开启开发者模式

func DpkgCheckInstalledKey added in v1.3.3

func DpkgCheckInstalledKey(pac1, pac2 string, debug bool) (bool, string)

DpkgCheckInstalledKey 使用两个关键词查询本地是否已安装某个软件包

func DpkgCheckPackageVersion

func DpkgCheckPackageVersion(package_ string, version string) (status_ bool, ver_ string)

DpkgCheckPackageVersion 使用dpkg检查本地安装版本与标准版本是否一致

func DpkgGetPackageStatus

func DpkgGetPackageStatus(pacPackage string) (m map[string]string, err error)

DpkgGetPackageStatus 使用 Dpkg查询包状态, 通过res返回字典,通过status返回查询状态,字典key(status/Name/version)

func DpkgInstalled

func DpkgInstalled(pacPackage string) bool

DpkgInstalled 使用Dpkg查询是否已安装(ii)

func GetOsInfo

func GetOsInfo() (osType, osArch string, osVersion int)

GetOsInfo 获取系统信息

func GetUserInfo

func GetUserInfo(display bool) (ok bool, username string, userid int, UserHome string)

GetUserInfo 获取当前系统环境信息(display: 是否显示信息)

func IsIPv4 added in v1.4.3

func IsIPv4(ipAddr string) bool

IsIPv4 判断是否属于IPv4

func IsLoopbackV4 added in v1.4.3

func IsLoopbackV4(ipAddr string) bool

IsLoopbackV4 判断是否属于IPv4

func Version

func Version() string

func WgetToSave

func WgetToSave(url, filename string) bool

WgetToSave 使用wget下载文件到指定路径

Types

type ApiApt added in v1.5.6

type ApiApt struct {
	Sudo gcs.ApiSudo // 执行sudo命令
	// contains filtered or unexported fields
}

ApiApt 定义一个命令行密码结构体

func NewApt added in v1.5.3

func NewApt(password string, debug, realtime bool) *ApiApt

NewApt Apt 管理初始化

func (*ApiApt) AptInstall added in v1.5.6

func (a *ApiApt) AptInstall(Package string) (res bool)

AptInstall 使用apt在线安装包

func (*ApiApt) AptInstallList added in v1.5.6

func (a *ApiApt) AptInstallList(pacList list.List) (ok, failed list.List)

AptInstallList 通过apt安装包(列表传入)

func (*ApiApt) AptInstallSlice added in v1.5.6

func (a *ApiApt) AptInstallSlice(pacList []string) (ok, failed list.List)

AptInstallSlice 通过apt安装包(切片传入) - 推荐

func (*ApiApt) AptLocalInstallFile added in v1.5.6

func (a *ApiApt) AptLocalInstallFile(filename, name string) (err error)

AptLocalInstallFile 使用apt安装本地文件(单个),安装之前将会检测文件是否存在

func (*ApiApt) AptLocalInstallStr added in v1.5.6

func (a *ApiApt) AptLocalInstallStr(installStr, name string) bool

AptLocalInstallStr 使用apt安装本地文件(字符串),直接安装,不会检测文件是否存在

func (*ApiApt) AptUninstall added in v1.5.6

func (a *ApiApt) AptUninstall(Package string, name string) (res bool)

AptUninstall 通过apt卸载单个包

func (*ApiApt) AptUninstallList added in v1.5.6

func (a *ApiApt) AptUninstallList(pacList list.List) (ok, failed list.List)

AptUninstallList 通过apt卸载包(列表传入)

func (*ApiApt) AptUninstallSlice added in v1.5.6

func (a *ApiApt) AptUninstallSlice(pacList []string) (ok, failed list.List)

AptUninstallSlice 通过apt卸载包(列表传入)

func (*ApiApt) AptUpdateIndex added in v1.5.6

func (a *ApiApt) AptUpdateIndex() (res bool)

AptUpdateIndex 更新索引

func (*ApiApt) AptUpgrade added in v1.5.6

func (a *ApiApt) AptUpgrade() (res bool)

AptUpgrade 更新系统

func (*ApiApt) LocalInstallList added in v1.5.6

func (a *ApiApt) LocalInstallList(fileList []string, name string) bool

LocalInstallList 使用apt安装本地文件(列表传入)

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      string   // 网关地址
	Address string   // IP地址
	Mask    int      // 子网掩码
	// contains filtered or unexported fields
}

func NewConnect added in v1.5.3

func NewConnect(debug bool) *ApiConnection

NewConnect 连接管理

func (*ApiConnection) AddConnect added in v1.5.6

func (c *ApiConnection) AddConnect() error

AddConnect 新增连接

func (*ApiConnection) AddDns added in v1.5.6

func (c *ApiConnection) AddDns() (err error)

AddDns 增加DNS,默认(119.29.29.29 180.76.76.76)

type ApiDpkg added in v1.5.6

type ApiDpkg struct {
	Sudo gcs.ApiSudo // 执行sudo命令
	// contains filtered or unexported fields
}

ApiDpkg 定义一个Dpkg管理结构

func NewDpkg added in v1.5.3

func NewDpkg(password string, realtime bool) *ApiDpkg

NewDpkg 初始化(realtime: 是否开启实时刷新)

func (*ApiDpkg) DpkgConfigureAll added in v1.5.6

func (dp *ApiDpkg) DpkgConfigureAll() bool

DpkgConfigureAll 使用 Dpkg --configure -a继续配置

func (*ApiDpkg) DpkgLocalInstallFile added in v1.5.6

func (dp *ApiDpkg) DpkgLocalInstallFile(pac string, name string) bool

DpkgLocalInstallFile 使用 Dpkg安装本地文件

func (*ApiDpkg) DpkgLocalInstallList added in v1.5.6

func (dp *ApiDpkg) DpkgLocalInstallList(fileList list.List, name string) bool

DpkgLocalInstallList 使用 Dpkg安装本地文件(列表传入)

func (*ApiDpkg) DpkgUninstallList added in v1.5.6

func (dp *ApiDpkg) DpkgUninstallList(pacList list.List) bool

DpkgUninstallList 使用 Dpkg卸载包(列表传入)

func (*ApiDpkg) DpkgUninstallPackage added in v1.5.6

func (dp *ApiDpkg) DpkgUninstallPackage(Package string) bool

DpkgUninstallPackage 使用 Dpkg卸载单个包

type ApiEth added in v1.5.6

type ApiEth struct {
	Index int    // 网卡设备索引
	Name  string // 网卡名称
	Ipv4  string // IPV4地址
	Mask  int    //子网掩码
	Mac   string // Mac物理地址
}

ApiEth 网卡信息结构体

type ApiNmcli added in v1.5.6

type ApiNmcli struct {
	DefaultGw      string // 当前默认网关
	DefaultDevices string // 当前默认网卡设备
	// contains filtered or unexported fields
}

ApiNmcli 网卡管理

func NewNmcli added in v1.5.4

func NewNmcli() *ApiNmcli

NewNmcli 返回一个网卡管理实例

func (*ApiNmcli) GetConnectionList added in v1.5.6

func (n *ApiNmcli) GetConnectionList() bool

GetConnectionList 获取指定设备及类型的连接列表

func (*ApiNmcli) GetDefaultGw added in v1.5.6

func (n *ApiNmcli) GetDefaultGw() bool

GetDefaultGw 获取默认网关/网卡设备

func (*ApiNmcli) GetEthInfo added in v1.5.6

func (n *ApiNmcli) GetEthInfo() ([]ApiEth, error)

GetEthInfo 获取所有网卡信息(IPV4)

type ApiService added in v1.5.6

type ApiService struct {
	Name     string // 服务名称
	Err      error  //错误
	Status   string // 当前状态
	Password string // Sudo权限密码
	// contains filtered or unexported fields
}

func NewService added in v1.5.5

func NewService(name string) *ApiService

func (*ApiService) Disable added in v1.5.7

func (api *ApiService) Disable() *ApiService

func (*ApiService) Enable added in v1.5.7

func (api *ApiService) Enable() *ApiService

func (*ApiService) Exists added in v1.5.8

func (api *ApiService) Exists() bool

func (*ApiService) ReLoad added in v1.5.6

func (api *ApiService) ReLoad() *ApiService

func (*ApiService) ReLoadDaemon added in v1.5.6

func (api *ApiService) ReLoadDaemon() *ApiService

func (*ApiService) ReStart added in v1.5.6

func (api *ApiService) ReStart()

func (*ApiService) Start added in v1.5.6

func (api *ApiService) Start()

func (*ApiService) Stop added in v1.5.6

func (api *ApiService) Stop()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL