mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-04 21:50:28 +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
|
// ubuntu apt
|
||||||
aptExe, err := executils.LookPath("apt")
|
aptGetExe, err := exec.LookPath("apt-get")
|
||||||
if err == nil && len(aptExe) > 0 {
|
if err == nil && len(aptGetExe) > 0 {
|
||||||
for _, lib := range []string{"libaio1", "libncurses5"} {
|
for _, lib := range []string{"libaio1", "libncurses5"} {
|
||||||
this.log("checking " + lib + " ...")
|
this.log("checking " + lib + " ...")
|
||||||
var cmd = utils.NewCmd("apt", "-y", "install", lib)
|
var cmd = utils.NewCmd(aptGetExe, "-y", "install", lib)
|
||||||
cmd.WithStderr()
|
cmd.WithStderr()
|
||||||
err = cmd.Run()
|
err = cmd.Run()
|
||||||
if err != nil {
|
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)
|
time.Sleep(1 * time.Second)
|
||||||
}
|
}
|
||||||
@@ -627,6 +637,13 @@ WantedBy=multi-user.target`
|
|||||||
|
|
||||||
// install 'tar' command automatically
|
// install 'tar' command automatically
|
||||||
func (this *MySQLInstaller) installTarCommand() error {
|
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
|
// yum
|
||||||
yumExe, err := executils.LookPath("yum")
|
yumExe, err := executils.LookPath("yum")
|
||||||
if err == nil && len(yumExe) > 0 {
|
if err == nil && len(yumExe) > 0 {
|
||||||
@@ -634,11 +651,19 @@ func (this *MySQLInstaller) installTarCommand() error {
|
|||||||
return cmd.Run()
|
return cmd.Run()
|
||||||
}
|
}
|
||||||
|
|
||||||
// apt
|
// apt-get
|
||||||
aptExe, err := executils.LookPath("apt")
|
aptGetExe, err := exec.LookPath("apt-get")
|
||||||
if err == nil && len(aptExe) > 0 {
|
if err == nil && len(aptGetExe) > 0 {
|
||||||
var cmd = utils.NewTimeoutCmd(10*time.Second, aptExe, "-y", "install", "tar")
|
var cmd = utils.NewTimeoutCmd(10*time.Second, aptGetExe, "-y", "install", "tar")
|
||||||
return cmd.Run()
|
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
|
return nil
|
||||||
|
|||||||
Reference in New Issue
Block a user