mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-03 20:40:26 +08:00
安装MySQL时优先使用apt-get代替apt
This commit is contained in:
@@ -88,15 +88,25 @@ func (this *MySQLInstaller) InstallFromFile(xzFilePath string, targetDir string)
|
||||
}
|
||||
|
||||
// ubuntu apt
|
||||
aptExe, err := executils.LookPath("apt")
|
||||
if err == nil && len(aptExe) > 0 {
|
||||
aptGetExe, err := exec.LookPath("apt-get")
|
||||
if err == nil && len(aptGetExe) > 0 {
|
||||
for _, lib := range []string{"libaio1", "libncurses5"} {
|
||||
this.log("checking " + lib + " ...")
|
||||
var cmd = utils.NewCmd("apt", "-y", "install", lib)
|
||||
var cmd = utils.NewCmd(aptGetExe, "-y", "install", lib)
|
||||
cmd.WithStderr()
|
||||
err = cmd.Run()
|
||||
if err != nil {
|
||||
return errors.New("install " + lib + " failed: " + cmd.Stderr())
|
||||
// try apt
|
||||
aptExe, aptErr := exec.LookPath("apt")
|
||||
if aptErr == nil && len(aptExe) > 0 {
|
||||
cmd = utils.NewCmd(aptExe, "-y", "install", lib)
|
||||
cmd.WithStderr()
|
||||
err = cmd.Run()
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return errors.New("install " + lib + " failed: " + cmd.Stderr())
|
||||
}
|
||||
}
|
||||
time.Sleep(1 * time.Second)
|
||||
}
|
||||
@@ -627,6 +637,13 @@ WantedBy=multi-user.target`
|
||||
|
||||
// install 'tar' command automatically
|
||||
func (this *MySQLInstaller) installTarCommand() error {
|
||||
// dnf
|
||||
dnfExe, err := exec.LookPath("dnf")
|
||||
if err == nil && len(dnfExe) > 0 {
|
||||
var cmd = utils.NewTimeoutCmd(10*time.Second, dnfExe, "-y", "install", "tar")
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
// yum
|
||||
yumExe, err := executils.LookPath("yum")
|
||||
if err == nil && len(yumExe) > 0 {
|
||||
@@ -634,11 +651,19 @@ func (this *MySQLInstaller) installTarCommand() error {
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
// apt
|
||||
aptExe, err := executils.LookPath("apt")
|
||||
if err == nil && len(aptExe) > 0 {
|
||||
var cmd = utils.NewTimeoutCmd(10*time.Second, aptExe, "-y", "install", "tar")
|
||||
return cmd.Run()
|
||||
// apt-get
|
||||
aptGetExe, err := exec.LookPath("apt-get")
|
||||
if err == nil && len(aptGetExe) > 0 {
|
||||
var cmd = utils.NewTimeoutCmd(10*time.Second, aptGetExe, "-y", "install", "tar")
|
||||
err = cmd.Run()
|
||||
if err != nil {
|
||||
aptExe, aptErr := exec.LookPath("apt")
|
||||
if aptErr == nil {
|
||||
cmd = utils.NewTimeoutCmd(10*time.Second, aptExe, "-y", "install", "tar")
|
||||
err = cmd.Run()
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user