Rating@Mail.ru

Форум по операционной системе GNU/Linux и свободному программному обеспечению


Текущее время: 23 ноя 2017, 21:44

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: редкие полезные команды
Непрочитанное сообщениеДобавлено: 03 июн 2016, 12:56 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10228
Откуда: Харьков
Переключение альтернативных версий ПО - alternatives:

Очень могучий инструмент администрирования ПО Linux!
По команде очень мало описаний и обсуждений (т.е. фактически просто нет), кроме man и --help ...
Есть только частные примеры переключения версий Java между Open JDK & Sun JDK.

В Debian (и других DEB?) эта утилита называется update-alternatives.
Код:
[olej@dell tasks]$ alternatives --help
alternatives, версия 1.7,  (C) 2001 Red Hat, Inc.
Может свободно распространяться в рамках GNU Public License.

формат: alternatives --install <ссылка> <имя> <путь> <приоритет>
                    [--initscript <служба>]
                    [--family <family>]
                    [--slave <ссылка> <имя> <путь>]*
       alternatives --remove <имя> <путь>
       alternatives --auto <имя>
       alternatives --config <имя>
       alternatives --display <имя>
       alternatives --set <имя> <путь>
       alternatives --list

общие параметры: --verbose --test --help --usage --version
                --altdir <каталог> --admindir <каталог>

Код:
[olej@dell tasks]$ man alternatives
UPDATE-ALTERNATIVES(8)                                     System Manager's Manual                                    UPDATE-ALTERNATIVES(8)

NAME
       alternatives - maintain symbolic links determining default commands

SYNOPSIS
       alternatives [options] --install link name path priority [--slave link name path]...  [--initscript service] [--family name]

       alternatives [options] --remove name path

       alternatives [options] --set name path

       alternatives [options] --auto name

       alternatives [options] --display name

       alternatives [options] --config name

       alternatives [options] --list name

DESCRIPTION
       alternatives  creates,  removes,  maintains and displays information about the symbolic links comprising the alternatives system. The
       alternatives system is a reimplementation of the Debian alternatives system. It was rewritten primarily to remove the  dependence  on
       perl;  it  is intended to be a drop in replacement for Debian's update-dependencies script. This man page is a slightly modified ver‐
       sion of the man page from the Debian project.
...

Интерактивная система просмотра системных руководств (man-ов)
Код:
NAME
alternatives - maintain symbolic links determining default commands
...


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: редкие полезные команды
Непрочитанное сообщениеДобавлено: 03 июн 2016, 13:04 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10228
Откуда: Харьков
Olej писал(а):
Есть только частные примеры переключения версий Java между Open JDK & Sun JDK.

Вот как добавляется новая альтернатива:
Код:
# /usr/sbin/alternatives --install /usr/bin/java java /opt/jre1.6.0_06/bin/java 3

Где:
- /usr/bin/java - новое имя запуска программы - ссылка на /etc/alternatives/java
- java - имя ссылки в /etc/alternatives/java - ссылка не реальный исполнимый файл java
- /opt/jre1.6.0_06/bin/java - исполнимый файл из Sun JDK
- 3 - приоритет альтернативы

Вот как переключается Go с пакета GCC (пакет dcc-go) на пакет GoLang (пакет golang)... этого достаточно для понимания работы alternatives.

До:
Код:
[olej@dell tasks]$ alternatives --list
...
go   auto   /usr/bin/go.gcc

[olej@dell tasks]$ alternatives --display go
go - статус "авто".
 ссылка сейчас указывает на /usr/bin/go.gcc
/usr/lib/golang/bin/go - priority 90
 slave gofmt: /usr/lib/golang/bin/gofmt
/usr/bin/go.gcc - priority 92
 slave gofmt: /usr/bin/gofmt.gcc
Текущая `лучшая' версия - /usr/bin/go.gcc.

Меняем версию Go по умолчанию, только от root:
Код:
[olej@dell tasks]$ sudo alternatives --config go
[sudo] пароль для olej:

Имеется 2 программ, которые предоставляют 'go'.

  Выбор    Команда
-----------------------------------------------
   1           /usr/lib/golang/bin/go
*+ 2           /usr/bin/go.gcc

Enter - сохранить текущий выбор[+], или укажите номер: 1

[olej@dell tasks]$ alternatives --display go
go - статус "вручную"
 ссылка сейчас указывает на /usr/lib/golang/bin/go
/usr/lib/golang/bin/go - priority 90
 slave gofmt: /usr/lib/golang/bin/gofmt
/usr/bin/go.gcc - priority 92
 slave gofmt: /usr/bin/gofmt.gcc
Текущая `лучшая' версия - /usr/bin/go.gcc.

Код:
[olej@dell 06]$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/olej/2016_WORK/GoBook"
GORACE=""
GOROOT="/usr/lib/golang"
GOTOOLDIR="/usr/lib/golang/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT=""
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: редкие полезные команды
Непрочитанное сообщениеДобавлено: 06 июн 2016, 00:23 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10228
Откуда: Харьков
Соответствие между USB-концентраторами и подключенными на них устройствами:
Код:
[olej@dell 1-blockchain]$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
        |__ Port 1: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 7: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
        |__ Port 7: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M
        |__ Port 7: Dev 3, If 2, Class=Vendor Specific Class, Driver=, 12M
        |__ Port 7: Dev 3, If 3, Class=Application Specific Interface, Driver=, 12M
        |__ Port 8: Dev 4, If 0, Class=Application Specific Interface, Driver=, 12M
        |__ Port 8: Dev 4, If 1, Class=Chip/SmartCard, Driver=, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M

Код:
olej@nvidia ~ $ lsusb -t
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 2: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M
    |__ Port 3: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M
    |__ Port 7: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 480M


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: редкие полезные команды
Непрочитанное сообщениеДобавлено: 16 окт 2016, 22:50 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10228
Откуда: Харьков
Профилировщик systemd - systemd-analyze.
В частности, время загрузки системы:
Код:
[olej@dell ~]$ systemd-analyze
Startup finished in 1.595s (kernel) + 5.124s (initrd) + 31.045s (userspace) = 37.765s

Все остальные детали см.:
Код:
[olej@dell ~]$ systemd-analyze --help
systemd-analyze [OPTIONS...] {COMMAND} ...

Profile systemd, show unit dependencies, check unit files.

  -h --help               Show this help
     --version            Show package version
     --no-pager           Do not pipe output into a pager
     --system             Operate on system systemd instance
     --user               Operate on user systemd instance
  -H --host=[USER@]HOST   Operate on remote host
  -M --machine=CONTAINER  Operate on local container
     --order              Show only order in the graph
     --require            Show only requirement in the graph
     --from-pattern=GLOB  Show only origins in the graph
     --to-pattern=GLOB    Show only destinations in the graph
     --fuzz=SECONDS       Also print also services which finished SECONDS
                          earlier than the latest in the branch
     --man[=BOOL]         Do [not] check for existence of man pages

Commands:
  time                    Print time spent in the kernel
  blame                   Print list of running units ordered by time to init
  critical-chain          Print a tree of the time critical chain of units
  plot                    Output SVG graphic showing service initialization
  dot                     Output dependency graph in dot(1) format
  set-log-level LEVEL     Set logging threshold for systemd
  dump                    Output state serialization of service manager
  verify FILE...          Check unit files for correctness


Вернуться к началу
 Профиль Отправить личное сообщение  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.623s | 18 Queries | GZIP : On ]