Обзор нового менеджера пакетов pkg

В Solaris 11 появился новый менеджер пакетов pkg. Он очень удобен, так как позволяет не только работать с пакетами (устанавливать, удалять, обновлять и т.д.), а и обновлять ОС.

В статье расскажу некоторые применения pkg.

1) Репозиторий.

Что бы посмотреть список доступных репозиториев (то есть тех мест, где будет происходить поиск покетов), делаем так:

# pkg publisher
PUBLISHER TYPE STATUS URI
solaris origin online http://pkg.oracle.com/solaris/release/

как видим, доступен пока только один репозиторий. Можно так же посмотреть информацию об этом «паблишере»:

# pkg publisher solaris

            Publisher: solaris
                Alias:
           Origin URI: http://pkg.oracle.com/solaris/release/
              SSL Key: None
             SSL Cert: None
          Client UUID: 00000000-aa32-b42c-0000-000067120418
      Catalog Updated: October  4, 2012 05:50:39 PM
              Enabled: Yes
     Signature Policy: verify

2) История.

Очень полезной и удобной функцией является история работы утилиты pkg. То есть мы можем увидеть все изменения, какие были сделаны через pkg:

# pkg history
START                    OPERATION                CLIENT             OUTCOME
2011-10-21T02:21:16      set-property             transfer module    Succeeded
2011-10-21T02:21:16      add-publisher            transfer module    Succeeded
2011-10-21T02:21:16      refresh-publishers       transfer module    Succeeded
2011-10-21T02:21:16      image-create             transfer module    Succeeded
2011-10-21T02:21:26      rebuild-image-catalogs   transfer module    Succeeded
2011-10-21T02:21:35      set-property             transfer module    Succeeded
2011-10-21T02:21:35      install                  transfer module    Succeeded
2011-10-21T02:36:44      update-publisher         transfer module    Succeeded
2012-02-22T16:18:42      uninstall                transfer module    Succeeded
2012-02-25T08:30:59      refresh-publishers       pkg                Succeeded
2012-02-25T08:30:59      install                  pkg                Succeeded
2012-02-25T08:31:03      rebuild-image-catalogs   pkg                Succeeded
2012-02-25T08:31:43      install                  pkg                Failed
2012-02-25T08:33:57      refresh-publishers       pkg                Succeeded
2012-02-25T08:33:57      install                  pkg                Failed
2012-02-25T08:34:03      rebuild-image-catalogs   pkg                Succeeded
2012-06-04T15:29:44      install                  pkg                Failed
2012-06-04T15:30:43      install                  pkg                Succeeded
2012-06-22T22:10:58      install                  pkg                Succeeded
2012-06-22T22:39:11      install                  pkg                Succeeded
2012-07-31T23:12:21      install                  pkg                Succeeded
2012-07-31T23:14:45      install                  pkg                Succeeded
2012-08-05T18:57:08      install                  pkg                Succeeded
2012-10-03T19:08:15      add-publisher            pkg                Succeeded
2012-10-03T19:08:16      rebuild-image-catalogs   pkg                Succeeded
2012-10-03T19:08:16      refresh-publishers       pkg                Succeeded
2012-10-03T19:08:41      install                  pkg                Succeeded
2012-10-04T20:49:38      add-publisher            pkg                Failed
2012-10-04T20:50:11      update-publisher         pkg                Succeeded
2012-10-04T20:50:12      refresh-publishers       pkg                Succeeded
2012-10-04T20:50:18      rebuild-image-catalogs   pkg                Succeeded
2012-10-04T20:50:35      update                   pkg                Succeeded

Это краткий вывод. Для длинного вывода используйте ключ ‘-l’:

#pkg history -l
...
         Operation: install
           Outcome: Succeeded
            Reason: None
            Client: pkg
           Version: a6782843ee0c
              User: root (0)
         Boot Env.: solaris
    Boot Env. UUID: 8a630c59-9b43-ee3d-8fd3-9e3065d89ba4
     New Boot Env.: None
New Boot Env. UUID: (None)
          Snapshot: (None)
        Start Time: 2012-07-31T23:12:21
          End Time: 2012-07-31T23:13:32
        Total Time: 0:01:11
           Command: /usr/bin/pkg install pkg:/developer/build/autoconf@2.63-0.175.0.0.0.2.537
       Start State:
Solver: [ Variables: 477 Clauses: 2913 Iterations: 1 State: Succeeded]
Timings: [phase 1:  0.364, phase 2:  0.049, phase 3:  0.364, phase 4:  0.000, phase 5:  0.000, phase 6:  0.000, phase 7:  0.009, phase 8:  0.615, phase 9:  0.000, phase 10:  0.552, phase 11:  0.013, phase 12:  0.309]
Maintained incorporations: pkg://solaris/consolidation/ldoms/ldoms-incorporation@0.5.11,5.11-0.175.0.0.0.1.0:20111012T230609Z
        pkg://solaris/consolidation/gfx/gfx-incorporation@0.5.11,5.11-0.175.0.0.0.2.0:20111019T144752Z
        pkg://solaris/consolidation/vpanels/vpanels-incorporation@0.5.11,5.11-0.175.0.0.0.1.778:20111012T230640Z
        pkg://solaris/consolidation/admin/admin-incorporation@0.5.11,5.11-0.175.0.0.0.2.0:20111019T144751Z
...

3) Обновление ОС.

ОС обновляется очень просто:

#pkg update --accept

при этом автоматически создастся новый be (boot envirement), который сразу станет активным при следующей загрузке ОС. Аналогично обновятся все зоны и в них так же будет создан be для каждой свой. Об этом и другом будет проинформировано в конце обновления.

А так можно посмотреть пакеты, которые нуждаются в обновлении:

#pkg update -nv

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *