Advertisement
Guest User

Untitled

a guest
Nov 10th, 2014
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 1.58 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     //"bytes"
  5.     "flag"
  6.     "fmt"
  7.     "log"
  8.     "os"
  9.     "os/exec"
  10. )
  11.  
  12. var (
  13.     flarch = flag.String("arch", "", "архитектура")
  14.     flrepo = flag.String("repo", "", "репозиторий")
  15.     fldir  = flag.String("dir", "", "Директория для chroot")
  16. )
  17.  
  18. func repo_add() {
  19.     cmd := exec.Command("urpmi.addmedia",
  20.         "--distrib",
  21.         "--urpmi-root",
  22.         *fldir,
  23.         *flrepo)
  24.     if err := cmd.Run(); err != nil {
  25.         log.Println(err)
  26.     }
  27.  
  28. }
  29.  
  30. func chroot_create() {
  31.     cmd := exec.Command("urpmi",
  32.         "--urpmi-root",
  33.         *fldir,
  34.         "--no-verify-rpm",
  35.         "--nolock",
  36.         "--auto",
  37.         "--ignoresize",
  38.         "--no-suggests",
  39.         "basesystem-minimal")
  40.     if err := cmd.Run(); err != nil {
  41.         log.Println(err)
  42.     }
  43.  
  44. }
  45.  
  46. func main() {
  47.  
  48.     flag.Parse()
  49.     // Создаем папку для chroot
  50.     path := os.Mkdir(*fldir, 0777)
  51.     if path != nil {
  52.         cmd := exec.Command("rm", "-rf", *fldir)
  53.         if err := cmd.Run(); err != nil {
  54.             log.Println(err)
  55.         }
  56.     }
  57.     if *flarch == "i586" {
  58.         //  flag.PrintDefaults()
  59.         fmt.Printf("Подключаем стандартные репозитории i586 для установки пакетов\n")
  60.         //Подключаем репозитории для установки пакетов
  61.         repo_add()
  62.         chroot_create()
  63.  
  64.     }
  65.     if *flarch == "x86_64" {
  66.         //      flag.PrintDefaults()
  67.         fmt.Printf("Подключаем стандартные репозитории x86_64 для установки пакетов\n")
  68.         //Подключаем репозитории для установки пакетов
  69.         repo_add()
  70.         chroot_create()
  71.     }
  72.  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement