По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Сегодня (да прямо сейчас) создается и производится множество различной организационной техники и гаджетов, которые не могут, и не будут работать правильно, без должного программного обеспечения. И тут понеслась 🤯
Давайте по порядку
Программное обеспечение (ПО) это программа или список программ, необходимых для работы компьютера или его устройств. Во как.
Каждый день создаются все новые и новые программы, игры, дополнения, обновления. Каждый день производятся различные устройства и гаджеты, различные звуковые и видеокарты, дисководы, принтеры, и прочие. Разумеется, данные устройства не смогут работать без соответствующего программного обеспечения, которое в свою очередь устаревает и требует обновления.
Программистам ставятся различные задачи по написанию софта, но человеческий фактор всегда имеет место быть, и при написании программы могут быть допущены ошибки, из-за чего софт просто не запустится, либо выдаст ошибку, исправление которой может занять большое количество времени, что в условиях современной экономики крайне не выгодно. Да и разработчик рискует получить по ж**е от Тимлида.
Слава небесам - для упрощения и ускорения данной задачи, в 2008 году был создан Jenkins.
Jenkins система с открытым исходным кодом, то есть продукт доступен для просмотра, изучения и изменения. Кстати создан на базе Java. Дженкинс позволяет автоматизировать часть процесса разработки программного обеспечения, без участия человека. Данная система предназначена для обеспечения процесса непрерывной интеграции программного обеспечения. Воу воу.
Непрерывная интеграция (Continuous Integration, CI) это процесс разработки программного обеспечения, смысл которого заключается в постоянном соединении рабочих копий в общую линию разработки, и выполнении постоянных автоматизированных сборок проекта для быстрого выявления возможных ошибок и решения интеграционных проблем. Вот такой конвеер.
Иными словами, это создание нескольких драфтовых версий (черновиков) проекта, то есть копий, в предварительной сборке проекта.
В настоящий момент Jenkins используется практически в любой современной компании, где есть необходимость в автоматическом деплойменте (развертывании) приложений, а также в удобном управлении различного рода задач.
Для начала разберемся, что такое деплой вообще. С английского "deploy" переводится как "развертывание". И это целый процесс действий, которые делают программный продукт готовым к использованию:
выпуск;
установка;
активация;
адаптация;
обновление;
исправление ошибок и другие.
Автоматический деплой это развертывание при помощи автоматизированных решений.
Многие пользователи скажут: "Зачем нужен Jenkins, когда есть Buildbot?". У нас есть ответочка.
Основные плюсы и отличия Jenkins в том, что разобраться с ним может обычный, рядовой программист, либо менеджер не имеющий опыта в управлении. И сделает он это за короткий срок.
Конечно настроить программное обеспечение можно и в Buildbot, но для дальнейшей работы в нём необходим специально обученный человек, что не очень удобно.
При возникновении, или обнаружении, какой-либо нестандартной ошибки, Jenkins устранит эту проблему при помощи дополнительных плагинов, без привлечения помощи человека. Jenkins является бесплатным инструментом, обладающим огромными возможностями в виде тысяч плагинов, которые постоянно добавляются и обновляются.
Плагин это программный блок, который встраивается в программу и расширяет ее возможности, а так как у Jenkins очень много всевозможных плагинов, возможности такого автоматического деплоя не ограничены.
Jenkins это стандартизированная программа, осилить которую может даже специалист с небольшим бэкграундом (опытом) в IT, всего за несколько часов.
Стоит отметить основные преимущества Jenkins:
режим работы сразу в двух и более средах;
повышенная надежность развертываемого программного обеспечения;
уменьшение ошибок, связанных с человеческим фактором;
уменьшение затрат на персонал. Пока – пока операционка и косты;
упрощение рабочего процесса (нет необходимости нанимать дорогостоящую команду опытных специалистов, с Jenkins справится небольшая группа сотрудников без специальной квалификации).
Посмотрите обучающие видео на YouTube и обязательно попробуйте этот инструмент. Уверены, вы совершенно не пожалеете. Но это не точно.
Достаточно просто посмотреть «железные» компоненты вашего сервера в том случае, если он установлен поверх операционной системы на базе Windows. А что делать, если на сервере используется Linux – based операционная система? У нас есть ответ.
В Linux имеется множество различных команд, которые расскажут вам о процессорных или оперативных мощностях, дисках, USB или сетевых адаптерах, контроллерах или сетевых интерфейсах, а также о прочих «hardware» компонентах. Итак, спешим поделиться 16 командами, которые помогут вам познакомиться с сервером поближе.
lscpu
Самая простая команда для получения информации о процессорных мощностях (CPU) - lscpu. Она не имеет каких – либо дополнительных опций (ключей) и выполняется в единственном исполнении:
[root@hq ~]# lscpu
Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 94
Stepping: 3
CPU MHz: 3191.969
BogoMIPS: 6383.93
Hypervisor vendor: Microsoft
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
lshw – список железных компонентов
Если у вас не исполняется данная команда, то вам необходимо установить lshw дополнительно. Например, в CentOS это можно сделать командой sudo yum install lshw.
Данная команда позволяет получить информативное описание компонентов вашего сервера, в том числе CPU, памяти, USB/NIC, аудио и прочих:
[root@hq ~]# lshw -short
H/W path Device Class Description
=====================================================
system Virtual Machine
/0 bus Virtual Machine
/0/0 memory 64KiB BIOS
/0/5 processor Intel(R) Core(TM) i3-6100T CPU @ 3.20GHz
/0/51 memory 4GiB System Memory
/0/100 bridge 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled)
/0/100/7 bridge 82371AB/EB/MB PIIX4 ISA
/0/100/7.1 scsi1 storage 82371AB/EB/MB PIIX4 IDE
/0/100/7.1/0.0.0 /dev/cdrom1 disk DVD reader
/0/100/7.3 bridge 82371AB/EB/MB PIIX4 ACPI
/0/100/8 display Hyper-V virtual VGA
/0/1 scsi2 storage
/0/1/0.0.0 /dev/sda disk 160GB SCSI Disk
/0/1/0.0.0/1 /dev/sda1 volume 500MiB EXT4 volume
/0/1/0.0.0/2 /dev/sda2 volume 149GiB Linux LVM Physical Volume partition
/1 eth0 network Ethernet interface
lspci – список PCI
Данная команда отображает список всех PCI – шин и устройств, подключенных к ним. Среди них могут быть VGA – адаптеры, видео – карты, NIC, USB, SATA – контроллеры и прочие:
[root@hq ~]# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA
lsscsi – список SCSI устройств
Данная команды выведет список SCSI/SATA устройств, например, таких как оптические приводы:
[root@hq ~]# lsscsi
[3:0:0:0] disk ATA WD1600JS-55NCB1 CC38 /dev/sdb
[4:0:0:0] cd/dvd SONY DVD RW DRU-190A 1.63 /dev/sr0
lsusb – список USB – шин и подробная информация об устройствах
Команда расскажет про USB – контроллеры и устройства, подключенные к ним. По умолчанию, команда отобразит краткую информацию. В случае, если необходима глубокая детализация, воспользуйтесь опцией -v:
[root@hq ~]# lsusb
Bus 003 Device 001: ID 9c6a:00c1 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 092e:00de Microsoft Corp. Basic Optical Mouse v2.0
lsblk - устройства и партиции для хранения
Команда выведет информацию о разделах (партициях) жесткого диска и прочих устройствах, предназначенных для хранения:
[root@hq ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 149.6G 0 disk
+-sda1 8:1 0 500M 0 part /boot
L-sda2 8:2 0 149.1G 0 part
+-VolGroup-lv_root (dm-0) 253:0 0 50G 0 lvm /
+-VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP]
L-VolGroup-lv_home (dm-2) 253:2 0 97.2G 0 lvm /home
df - информация о пространстве файловой системы
Команда отображает информацию о различных разделах, точек монтирования это разделов а также размер, занятое и доступное пространство для хранения:
[root@hq ~]# df -H
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
53G 7.1G 43G 15% /
tmpfs 2.1G 0 2.1G 0% /dev/shm
/dev/sda1 500M 26M 448M 6% /boot
/dev/mapper/VolGroup-lv_home
103G 143M 98G 1% /home
pydf - df на языке Python
Если у вас не исполняется данная команда, то вам необходимо установить pydf дополнительно. Например, в CentOS это можно сделать командой sudo yum install pydf.
Улучшенная версия команды df, написанная на Питоне. Подсвечивает вывод цветом, что улучшает восприятие:
fdisk
Утилита fdisk для управления разделами на жестких дисках. Помимо всего, утилита может использоваться для отображения информации:
[root@hq ~]# sudo fdisk -l
Disk /dev/sda: 160.7 GB, 160657440768 bytes
255 heads, 63 sectors/track, 19532 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e0ba6
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 19533 156378112 8e Linux LVM
Disk /dev/mapper/VolGroup-lv_root: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
mount
Утилита mount предназначена для управления и просмотра смонтированных файлов систем и соответствующих точек:
[root@hq ~]# mount | column -t
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/VolGroup-lv_home on /home type ext4 (rw)
/var/spool/asterisk/monitor on /var/www/html/ast_mon_dir type none (rw,bind)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
free
Посмотреть общий объем оперативной памяти (RAM), свободный или занятый? Легко, с помощью команды free:
[root@hq ~]# free -m
total used free shared buffers cached
Mem: 3919 3692 227 0 196 407
-/+ buffers/cache: 3088 830
Swap: 2015 0 2015
dmidecode
Данная команда отличается от остальных тем, что парсит информацию о железе из SMBIOS/DMI (очень детальный вывод).
#посмотреть информацию о cpu
sudo dmidecode -t processor
#ram информация
sudo dmidecode -t memory
#информация о bios
sudo dmidecode -t bios
файлы /proc
В директории /proc существует целое множество файлов, содержимое которых расскажет множество интересной и полезной информации о компонентах. Например, информация о CPU и памяти:
#cpu информация
cat /proc/cpuinfo
#информация о памяти
cat /proc/meminfo
Информация об операционной системе:
[root@hq ~]# cat /proc/version
Linux version 2.6.32-504.8.1.el6.i686 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ) #1 SMP Wed Jan 28 18:25:26 UTC 2015
SCSI/Sata устройства:
[root@hq ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: Msft Model: Virtual CD/ROM Rev: 1.0
Type: CD-ROM ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: Msft Model: Virtual Disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 05
Партиции:
[root@hq ~]# cat /proc/partitions
major minor #blocks name
8 0 156892032 sda
8 1 512000 sda1
8 2 156378112 sda2
253 0 52428800 dm-0
253 1 2064384 dm-1
253 2 101883904 dm-2
Модель Open Systems Interconnection (OSI) – это скелет, фундамент и база всех сетевых сущностей. Модель определяет сетевые протоколы, распределяя их на 7 логических уровней. Важно отметить, что в любом процессе, управление сетевой передачей переходит от уровня к уровню, последовательно подключая протоколы на каждом из уровней.
Видео: модель OSI за 7 минут
Нижние уровни отвечают за физические параметры передачи, такие как электрические сигналы. Да – да, сигналы в проводах передаются с помощью представления в токи :) Токи представляются в виде последовательности единиц и нулей (1 и 0), затем, данные декодируются и маршрутизируются по сети. Более высокие уровни охватывают запросы, связанные с представлением данных. Условно говоря, более высокие уровни отвечают за сетевые данные с точки зрения пользователя.
Модель OSI была изначально придумана как стандартный подход, архитектура или паттерн, который бы описывал сетевое взаимодействие любого сетевого приложения. Давайте разберемся поподробнее?
#01: Физический (physical) уровень
На первом уровне модели OSI происходит передача физических сигналов (токов, света, радио) от источника к получателю. На этом уровне мы оперируем кабелями, контактами в разъемах, кодированием единиц и нулей, модуляцией и так далее.
Среди технологий, которые живут на первом уровне, можно выделить самый основной стандарт - Ethernet. Он есть сейчас в каждом доме.
Отметим, что в качестве носителя данных могут выступать не только электрические токи. Радиочастоты, световые или инфракрасные волны используются также повсеместно в современных сетях.
Сетевые устройства, которые относят к первому уровню это концентраторы и репитеры – то есть «глупые» железки, которые могут просто работать с физическим сигналом, не вникая в его логику (не декодируя).
#02: Канальный (data Link) уровень
Представьте, мы получили физический сигнал с первого уровня – физического. Это набор напряжений разной амплитуды, волн или радиочастот. При получении, на втором уровне проверяются и исправляются ошибки передачи. На втором уровне мы оперируем понятием «фрейм», или как еще говорят «кадр». Тут появляются первые идентификаторы – MAC – адреса. Они состоят из 48 бит и выглядят примерно так: 00:16:52:00:1f:03.
Канальный уровень сложный. Поэтому, его условно говоря делят на два подуровня: управление логическим каналом (LLC, Logical Link Control) и управление доступом к среде (MAC, Media Access Control).
На этом уровне обитают такие устройства как коммутаторы и мосты. Кстати! Стандарт Ethernet тоже тут. Он уютно расположился на первом и втором (1 и 2) уровнях модели OSI.
#03: Сетевой (network) уровень
Идем вверх! Сетевой уровень вводит термин «маршрутизация» и, соответственно, IP – адрес. Кстати, для преобразования IP – адресов в MAC – адреса и обратно используется протокол ARP.
Именно на этом уровне происходит маршрутизация трафика, как таковая. Если мы хотим попасть на сайт wiki.merionet.ru, то мы отправляем DNS – запрос, получаем ответ в виде IP – адреса и подставляем его в пакет. Да – да, если на втором уровне мы используем термин фрейм/кадр, как мы говорили ранее, то здесь мы используем пакет.
Из устройств здесь живет его величество маршрутизатор :)
Процесс, когда данные передаются с верхних уровней на нижние называется инкапсуляцией данных, а когда наоборот, наверх, с первого, физического к седьмому, то этот процесс называется декапсуляцией данных
#04: Транспортный (transport) уровень
Транспортный уровень, как можно понять из названия, обеспечивает передачу данных по сети. Здесь две основных рок – звезды – TCP и UDP. Разница в том, что различный транспорт применяется для разной категории трафика. Принцип такой:
Трафик чувствителен к потерям - нет проблем, TCP (Transmission Control Protocol)! Он обеспечивает контроль за передачей данных;
Немного потеряем – не страшно - по факту, сейчас, когда вы читаете эту статью, пару пакетов могло и потеряться. Но это не чувствуется для вас, как для пользователя. UDP (User Datagram Protocol) вам подойдет. А если бы это была телефония? Потеря пакетов там критична, так как голос в реальном времени начнет попросту «квакать»;
#05: Сеансовый (session) уровень
Попросите любого сетевого инженера объяснить вам сеансовый уровень. Ему будет трудно это сделать, инфа 100%. Дело в том, что в повседневной работе, сетевой инженер взаимодействует с первыми четырьмя уровнями – физическим, канальным, сетевым и транспортным. Остальные, или так называемые «верхние» уровни относятся больше к работе разработчиков софта :) Но мы попробуем!
Сеансовый уровень занимается тем, что управляет соединениями, или попросту говоря, сессиями. Он их разрывает. Помните мем про «НЕ БЫЛО НИ ЕДИНОГО РАЗРЫВА»? Мы помним. Так вот, это пятый уровень постарался :)
#06 Уровень представления (presentation)
На шестом уровне творится преобразование форматов сообщений, такое как кодирование или сжатие. Тут живут JPEG и GIF, например. Так же уровень ответственен за передачу потока на четвертый (транспортный уровень).
#07 Уровень приложения (application)
На седьмом этаже, на самой верхушке айсберга, обитает уровень приложений! Тут находятся сетевые службы, которые позволяют нам, как конечным пользователям, серфить просторы интернета. Гляньте, по какому протоколу у вас открыта наша база знаний? Правильно, HTTPS. Этот парень с седьмого этажа. Еще тут живут простой HTTP, FTP и SMTP.