Дистрибутив Linux называет API для получения названия дистрибутива Linux в коде драйвера?

Если вы собираетесь делать это часто, я предлагаю вам использовать пару инструментов, которые у меня есть 1 которые очень полезны для такого рода вещей:

  1. fastatotbl :

     #!  / bin / sh
    gawk '{
      Если (субстра ($ 1,1,1) == ">")
      Если (NR> 1)
      printf "\ N% S \ T", Substr ($ 0,2, длина ($ 0) -1)
      еще
      printf "% s \ t", субстра ($ 0,2, длина ($ 0) -1)
      еще
      printf "% s", $ 0
     } End {printf "\ N"} '"$ @"
     

    Сохранить этот файл как fastatotbl в ~ / bin и сделать его исполняемым с помощью chmod 755 ~ / bin / fastatotbl .

  2. Tbltofasta

     #!  / bin / sh
    gawk '{
      Последовательность = $ nf
    
      ls = длина (последовательность)
      это = 1.
      FLD = 1.
    
      пока (FLD "}
      printf "% s", $ fld
      Если (FLD == NF-1)
      {
      printf "\ n"
      }
      FLD = FLD + 1
      }
      в то время как (это 

    Сохранить этот файл в виде TBLTOFASTA в ~ / bin и сделать его исполняемым с помощью Chmod 755 ~ / bin / tbltofasta .

Теперь, когда у вас есть эти два скрипта, вы можете использовать fastatotbl , чтобы изменить свои последовательности Fasta в формат TBL (имя последовательности, вкладки, последовательность), которая гораздо проще для поиска:

FastaToTbl fileB | grep -f <(awk '{print $1}' fileA)  | TblToFasta 

Это использует сценарий fastatotbl , чтобы положить последовательность и идентификатор в том же файле. awk '{Print $ 1}' Filea печатает 1-е поле FLEA и, потому что мы используем , это может быть передано как « Вариант файла «в GREP -F , который просит файл шаблонов для поиска. Наконец, TBLTOFASTA возвращает формат Fasta.


Наконец, вы можете проверить мою скрипт Retroveseqs.pl , который может сделать это и многое другое. Например, в этом случае вы могли бы только сделать:

retrieveseqs.pl -f fileB fileA

1 благодаря J.F. ABRIL, который изначально написал эти два сценария.

-1
15.10.2014, 08:15
3 ответа

В зависимости от ваших потребностей вы можете достичь этого, выполняя одно из следующих действий.

1. Запуск X приложений на Windows 8.1

Это может быть сделано с помощью X11Forwarding.

  • Установите XMING на Windows Machine
  • Set X11Forwarding YES в / etc / ssh / sshd_config
  • Настройте штуку на использование X11
    • можно найти в меню: Соединение > SSH SSH > X11
    • Tick Checkbox Включить пересылку X11
    • Введите localhost: 0 В X отображение поле Поле
  • Пуск XClock (или другое X приложение, например Xeyes ) через вашу SSH Shell.

Подробнее о xming / budlety: https://wiki.utdallas.edu/wiki/display/faq/x11+Forwarding: THEUSING+XMINGELEDENDANCEDANCEWUTTY

2. Принимая за сессию с VNC

Это выглядит больше похоже на то, что вы хотите выполнить. Вы можете взять весь рабочий стол, используя VNC, так же, как вы будете использовать RDP на Windows.

Для GNOME:

Отредактируйте файл ~ / .vnc / xStartup, чтобы начать сеанс GNOME при запуске VNCERVER. Первый раз, когда вы запускаете сценарий VNCSERVER, он попросит вас пароль, который вы хотите использовать для вашего сеанса VNC.

Образец файла xstartup:

#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
    eval `dbus-launch --sh-syntax –exit-with-session`
    echo "D-BUS per-session daemon address is: \
    $DBUS_SESSION_BUS_ADDRESS"
fi
exec  gnome-session

Источник: https://access.redhat.com/documentation/en-us/redhat.com/documention_linux/5/html/virtualization/sect-virtualization-tips_And_tricks-configurging_a_vnc_server.html

-121--111698-

Область получения дистрибутива не находится в объеме развития ядра. Таким образом, конкретный метод в настоящее время нет. Я прошу модуль Param в моем драйвере для этого. Вы также можете попросить переменную ENV во время компиляции.

Спасибо, за вашу помощь ...

0
28.01.2020, 05:11

Вы можете взглянуть на то, насколько FAITE делает это здесь .

Как сказал Ян, lsb_release, вероятно, лучше всего пойти, но это не может быть вашим единственным способом. Например, LSB_Release по умолчанию не присутствует на любом из моих серверов RHEL:

[damaya@damaya-sandbox script]$ lsb_release
-bash: lsb_release: command not found
[damaya@damaya-sandbox script]$ yum provides "*/lsb_release"
redhat-lsb-core-4.0-7.el6.centos.i686 : LSB base libraries support for CentOS
Repo        : base
Matched from:
Filename    : /usr/bin/lsb_release

так, если LSB_Release нет в системе, то ваш следующий шаг - получить информацию из файла / etc / * - выпуска. Однако, если это также не присутствует в системе, то вы не повезете. К сожалению, не существует 100% надежный способ получить эту информацию.

0
28.01.2020, 05:11

Большинство программ и скриптов, которые я видел, разбирают обычные файлы в /etc, AFAIK не существует другого способа:

On Redhat, look for /etc/redhat-release
On Debian, look for /etc/debian_version
Mandriva has /etc/version
and Slackware has /etc/slackware-version

Вы также можете использовать uname, чтобы получить ARCH или, возможно, самый вменяемый способ, использовать lsb_release.

1
28.01.2020, 05:11

Теги

Похожие вопросы