osutil

package module
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2021 License: MPL-2.0 Imports: 5 Imported by: 0

README

osutil

Access to operating system functionality dependent of every platform and utility packages for the Shell.

  • config/env: set persistent environment variables
  • config/shconf: parser and scanner for the configuration in format shell-variable
  • edi: editing of files
  • executil: executes commands in shells
  • fileutil: handles common operations at files
  • pkg: basic operations for the management of packages in operating systems
  • userutil: provides access to UNIX users database in local files
  • user/crypt: password hashing used in UNIX

Documentation online

Testing

go test ./...

sudo env PATH=$PATH go test -v ./...

'sudo' command is necessary to copy the files '/etc/{passwd,group,shadow,gshadow}' to the temporary directory, where the tests are run. Also, it uses 'sudo' to check the package manager, at installing and removing the package 'mtr-tiny'.

License

The source files are distributed under the Mozilla Public License, version 2.0, unless otherwise noted.
Please read the FAQ if you have further questions regarding the license.

Documentation

Overview

Package sys defines operating systems and detects the Linux distribution.

Index

Constants

This section is empty.

Variables

View Source
var ListSystem = [...]System{FreeBSD, Linux, MacOS, Windows}

ListSystem is the list of allowed operating systems.

Functions

func SystemFromGOOS

func SystemFromGOOS() (sys System, dist Distro, err error)

SystemFromGOOS returns the system from 'GOOS', and the distribution at Linux systems.

Types

type Distro

type Distro int

Distro represents a distribution of Linux system.

const (
	DistroUnknown Distro = iota

	Debian
	Ubuntu

	Fedora
	CentOS

	OpenSUSE

	Arch
	Manjaro
)

Most used Linux distributions.

func DetectDistro

func DetectDistro() (Distro, error)

DetectDistro returns the Linux distribution.

func (Distro) Manager

func (d Distro) Manager() pkg.Manager

Manager returns the package manager.

func (Distro) String

func (s Distro) String() string

type System

type System uint8

System represents an operating system.

const (
	SystemUndefined System = iota
	Linux
	FreeBSD
	MacOS
	Windows
)

The operating systems.

func (System) Manager

func (s System) Manager(dist Distro) pkg.Manager

Manager returns the package manager.

func (System) String

func (s System) String() string

Directories

Path Synopsis
config
env
Package env implements the setting of persistent environment variables.
Package env implements the setting of persistent environment variables.
shconf
Package shconf implements a parser and scanner for the configuration in format shell-variable.
Package shconf implements a parser and scanner for the configuration in format shell-variable.
Package edi allows edit files.
Package edi allows edit files.
Package executil lets to call to system commands.
Package executil lets to call to system commands.
Package fileutil handles common operations in files.
Package fileutil handles common operations in files.
Package pkg handles basic operations in the management of packages in FreeBSD, Linux and macOs operating systems.
Package pkg handles basic operations in the management of packages in FreeBSD, Linux and macOs operating systems.
Package userutil provides access to UNIX users database in local files.
Package userutil provides access to UNIX users database in local files.
crypt
Package crypt provides interface for password crypt functions and collects common constants.
Package crypt provides interface for password crypt functions and collects common constants.
crypt/apr1_crypt
Package apr1_crypt implements the standard Unix MD5-crypt algorithm created by Poul-Henning Kamp for FreeBSD, and modified by the Apache project.
Package apr1_crypt implements the standard Unix MD5-crypt algorithm created by Poul-Henning Kamp for FreeBSD, and modified by the Apache project.
crypt/common
Package common contains routines used by multiple password hashing algorithms.
Package common contains routines used by multiple password hashing algorithms.
crypt/md5_crypt
Package md5_crypt implements the standard Unix MD5-crypt algorithm created by Poul-Henning Kamp for FreeBSD.
Package md5_crypt implements the standard Unix MD5-crypt algorithm created by Poul-Henning Kamp for FreeBSD.
crypt/sha256_crypt
Package sha256_crypt implements Ulrich Drepper's SHA256-crypt password hashing algorithm.
Package sha256_crypt implements Ulrich Drepper's SHA256-crypt password hashing algorithm.
crypt/sha512_crypt
Package sha512_crypt implements Ulrich Drepper's SHA512-crypt password hashing algorithm.
Package sha512_crypt implements Ulrich Drepper's SHA512-crypt password hashing algorithm.

Jump to

Keyboard shortcuts

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