Debian стабилен и надежен
У людей разные ожидания, когда они используют Linux. Некоторые хотят иметь последнюю версию программного обеспечения как можно скорее, даже если это означает, что имеешь дело с более высоким риском сбоев или ошибок. Другие просто хотят, чтобы их ПК работал и был надежным.
Debian хорошо известен своей стабильностью. Стабильная версия, как правило, предоставляет более старые версии программного обеспечения, поэтому вы можете запустить код, который вышел несколько лет назад. Но это означает, что вы используете программное обеспечение, у которого было больше времени для тестирования и с меньшим количеством ошибок. Вы можете ежедневно открывать свой компьютер с малой вероятностью каких-либо сюрпризов.
Смена Windows на Linux – это проблема психологии
После разработки прототипа разработчики развернули систему в одном из отделов дилерского центра, собрали обратную связь, исправили ошибки, затем повторили эту операцию на другом отделе и т.д. Заменив операционную систему в одном из дилерских центров целиком, начинали работу в следующем. И так постепенно перевели все дилерские центры, собирая обратную связь, исправляя найденные ошибки и оптимизируя параллельно те сервисы, которыми пользуются сотрудники компании.
Параллельно шла работа по переобучению сотрудников. Причем, как пользователей, так и работающих на линии технической поддержки. Пришлось приложить серьезные усилия, чтобы сломить сопротивление персонала. «Это сложная психологическая проблема, – предупреждает директор по технологиям ГК «Агат» Игорь Иванов. – По факту все работает даже быстрее и качественней. Но когда ребенок в садике пользуется Windows, в школе – Windows, в институте не изучает ничего, кроме Windows, у него формируются навыки на уровне инстинктов. Нужно найти в себе силы перестроить свой мозг, чтобы начать пользоваться чем-то иным»
Поэтому очень важно руководству компании проявить административный ресурс и все-таки заставить пользователей привыкать к новому. В нынешних санкционных условиях такую волю руководителям проявить будет проще
Опыт ГК «Агат» показывает, что большинство сотрудников справляется с этим быстро. Однако, у некоторых возникают рецидивы даже через год, и им приходится в очередной раз напоминать, где в интерфейсе Linux расположена нужная кнопка.
Миграция базы на PostgreSQL
В случае, если это не первая установка и у нас уже есть база, ее нужно перенести на новый сервер. Рассмотрим 2 варианта — база была на другом сервере PostgreSQL и универсальный (файловый вариант или другая СУБД).
С PostgreSQL на PostgreSQL
В данном случае процесс переноса заключается в создании дампа (backup) и его восстановления на новом сервере (restore). Необходимо учесть, что для корректного переноса данных, версии 1С должны совпадать.
Есть несколько инструментов по созданию резервных копий PostgreSQL и их восстановлению. Их описание выходит за рамки данной статьи — подробнее читайте инструкцию Резервное копирование PostgreSQL.
Универсальный способ миграции на PostgreSQL
Данный способ также подойдет и для миграции с PostgreSQL на PostgreSQL. Для начала, открываем нашу базу в конфигураторе на старом 1С — кликаем по Администрирование — Выгрузить информационную базу:
Выбираем путь для сохранения файла. Ждем окончания выгрузки и переносим полученный файл на компьютер с толстым клиентом 1С (если для нового сервера мы используем другой компьютер с 1С).
Открываем конфигуратор для созданной в PostgreSQL базы — кликаем Администрирование — Загрузить информационную базу:
… и выбираем выгруженный ранее файл. Дожидаемся его загрузки — система потребует перезапустить 1С — соглашаемся. Ждем новой загрузки. После можно пользоваться базой 1С на новом сервере.
Preparation before the kernel decompression
We stopped to jump toEntrance point -Before the jump, it is in the source filearch/x86/boot/compressed/head_64.S in. In the previous part, we are alreadyI saw it.Jump:
Since we loaded newAnd in other modes have the mode conversion of the CPU (in us is hereMode), we canThe beginning of seeing the establishment of the data segment:
removeSegment registers outside of usThe time has been reset.
The next step is to calculate the position of the kernel compile time and the difference in the location it loaded:
Contains the start address of the compression kernel, after this code is executedThe address of the relocation kernel code used to decompress is included. We are alreadySee similar code (you can see the previous part), But we need to do this again because the bootloader can use 64-bit boot protocols, andIn this case it will not be executed.
Next, we can see the reset of the settings and flag registers of the stack pointer:
As mentioned above,The register contains the starting address of the kernel decompression code, and we put this addressThe offset address is added to the top pointer indicating the stackregister. After this step, the stack is correct. You can compile the source code filearch/x86/boot/compressed/head_64.S Find the endDefinition:
it is atAt the end of the day,Front. If you viewarch/x86/boot/compressed/vmlinux.lds.S Link script, you will findwithDefinition.
Since we set up a stack, after we calculate the repositioning address of the compressed kernel, we can copy the compressed kernel to the above address. Before viewing the details, let’s take a look at this assembly code:
In 5.10.13:
First we putPress the stack. We need to saveValue, because this register is now storedThe pointer, this is a real mode structure containing guidance related data (you must remember this structure, we fill it when we start setting the kernel). At the end of the code, we will resume pointsPointer to.
Next twoInstructionOffset andwithCalculate effective addresses and store themwithWhy should we calculate these addresses? In fact, the compressed code mirror is stored in this copy code (fromBetween the current code) and the code. You can view the link scriptarch/x86/boot/compressed/vmlinux.lds.S verify:
NoticeThe section containsYou can recall it from the previous part:
The section contains decompression code:
Contains compressed kernel mirror. soIncludeAbsolute address,IncludeThe relative address of the relocation. When we put these addresses in registers, we putThe address is put.register. As you areThe link script sees the same, it and the setting / kernel code together at the end of all sections. Now we can start usingDirective from 8 bytes each timearriveCopy code.
Note that there is a data replicationDirective: it setsSign, meanswithWill decrease. In other words, we will copy these bytes from the previous. Finally, we useInstruction clearanceSign, and restorearrive.
Now we haveThe address after the redemption of the section, we can jump there:
QEMU
Install :
sudo apt-get install kvm qemu-kvm
Make sure the kernel boots and starts:
qemu-system-x86_64 \ -kernel $KERNELarchx86bootbzImage \ -append "console=ttyS0 root=/dev/sda debug earlyprintk=serial slub_debug=QUZ"\ -hda $IMAGEwheezy.img \ -net user,hostfwd=tcp::10021-:22-net nic \ -enable-kvm \ -nographic \ -m 2G \ -smp 2 \ -pidfile vm.pid \ 2>&1| tee vm.log
early console in setup code early console in extract_kernel input_data: 0x0000000005d9e276 input_len: 0x0000000001da5af3 output: 0x0000000001000000 output_len: 0x00000000058799f8 kernel_total_size: 0x0000000006b63000 Decompressing Linux... Parsing ELF... done. Booting the kernel. Linux version 4.12.0-rc3+ ... Command line: console=ttyS0 root=/dev/sda debug earlyprintk=serial ... Starting enhanced syslogd: rsyslogd. Starting periodic command scheduler: cron. Starting OpenBSD Secure Shell server: sshd.
After that you should be able to ssh to QEMU instance in another terminal:
ssh -i $IMAGEsshid_rsa -p 10021-o "StrictHostKeyChecking no" root@localhost
If this fails with “too many tries”, ssh may be passing default keys before the one explicitly passed with . Append option .
To kill the running QEMU instance:
kill $(cat vm.pid)
Графическая система
Далеко не каждый Linux снабжен графической системой или вообще нуждается в ней — очень многие действия здесь можно делать и из командной строки. Однако современный рабочий стол — это все же иконки и окошки.
Чтобы работать с графикой, в Linux должны присутствовать сервер дисплея X.Org (традиционный вариант) либо новомодный композитор Wayland, на который сейчас переходят наиболее передовые дистрибутивы. Плюс требуется оконный менеджер — программа, которая отвечает за то, как выглядят и работают элементы интерфейса.
Впрочем, это всё довольно низкоуровневые подробности, нырять в которые с ходу не обязательно. Куда скорее тебе придется задуматься о выборе рабочей среды (Desktop Environment, DE). Это совокупность оконного менеджера и разного рода программ, мелких (например, рисующих разные панели, рабочий стол, виджеты) и крупных — вроде файлового менеджера. Сюда же обычно входит и набор базового софта: календарь, почтовик и прочее в таком духе.
Самые известные оконные среды — это GNOME и KDE. Но в реальности их список гораздо длиннее. Любители минимализма могут присмотреться к Xfce или LXDE, а Ratpoison, dwm, i3 и xmonad предоставляют среду с неперекрывающимися окнами, что некоторые находят удобным.
А еще от GNOME отвалились проекты MATE и Cinnamon — их разработчикам не понравился интерфейс GNOME 3, и они продолжили развивать вторую ветку. А в elementary OS используется своя среда под названием Pantheon, которую не встретишь больше нигде. В общем, разнообразие огромно!
Создатели дистрибутивов, в которые входит графическая среда, обычно выбирают одну или несколько сред, которые будут поддерживать официально. Но при этом тебе ничто не мешает поменять DE или установить одновременно больше одной, чтобы переключаться между ними или использовать программы одной среды из другой. Пробуй, экспериментируй, и сам поймешь, что тебе ближе.
Virtme: The kernel developers’ best friend
Ezequiel Garcia September 18, 2018
Share this post:
Reading time:
When working on the Linux Kernel, testing via QEMU is pretty common. Many virtual drivers have been recently merged, useful either to test the kernel core code, or your application. These virtual drivers make QEMU even more attractive.
However, QEMU can be hard to setup, which is discouraging for some developers: all you wanted was to run a test, and suddenly you are reading through QEMU man pages, trying to find the right combination of arguments. We have blogged about QEMU’s bonanzas and so this time we want to take a somewhat different path and explore virtme, which is basically a QEMU wrapper. Quoting virtme’s own readme:
The tool was written by Andy Lutomirski. See more details on the readme.
We really enjoy using this tool, and have found it’s not too well known. So, we’ve decided to spread the word, and put together a curated zero-to-kernel steps:
Installing virtme
Instead of using Andy Lutomirski’s upstream, we are going to use Ezequiel’s repo. This version of virtme, simply adds some extra sugar.
git clone https://github.com/ezequielgarcia/virtme.git cd virtme sudo ./setup.py install
Now get your favourite kernel tree
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Configure it for virtme
comes with some handy tools to produce a suitable kernel configuration. This makes the config process much easier.
virtme-configkernel --defconfig
Enable the drivers you need
For instance, let’s enable the vim2m driver. This is a virtual video4linux memory2memory virtual driver.
CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_VIDEO_DEV=y CONFIG_VIDEO_V4L2=y CONFIG_V4L2_MEM2MEM_DEV=y CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIM2M=y
virtme-run --kimg arch/x86_64/boot/bzImage
or just:
virtme-run --kdir .
Extra sugar
Running scripts at boot
One of them is , which allows to run some scripts at boot. This can be used to run all your tests at boot, providing a quick way to test kernel changes.
The following command will run all the scripts in the directory.
virtme-run --kdir . --script-dir test-dir/
Continuing with our previous example, we could use the parameter to run the test on the driver. Something like this would do the job:
#!/bin/sh v4l2-compliance -d /dev/video0 -s
Specifying a module directory
Another added parameter is . This one allows you to specify a module directory. It is useful if you want to load modules on the guest, as otherwise the guest would try to load the host modules, which is of course not what we want.
This is how it works. Let’s first configure the kernel to build some modules.
CONFIG_MEDIA_SUPPORT=m CONFIG_MEDIA_CAMERA_SUPPORT=m CONFIG_VIDEO_DEV=m CONFIG_VIDEO_V4L2=m CONFIG_V4L2_MEM2MEM_DEV=m CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIM2M=m
And install them to a directory:
make INSTALL_MOD_PATH=./tmp modules_install INSTALL crypto/crypto_engine.ko INSTALL drivers/crypto/virtio/virtio_crypto.ko INSTALL drivers/media/common/videobuf2/videobuf2-common.ko INSTALL drivers/media/common/videobuf2/videobuf2-memops.ko INSTALL drivers/media/common/videobuf2/videobuf2-v4l2.ko INSTALL drivers/media/common/videobuf2/videobuf2-vmalloc.ko
We are now ready to use to run and load some modules:
virtme-run --kimg arch/x86_64/boot/bzImage --mdir tmp/lib/modules/4.19.0-rc3 Decompressing Linux... Parsing ELF... Performing relocations... done. Booting the kernel. root@(none):/# modprobe vim2m videodev: Linux video capture interface: v2.00 vim2m vim2m.0: Device registered as /dev/video0
Coming soon…
In the next blog post we’ll see an example of in action, testing bleeding-edge gstreamer builds on bleeding-edge kernels. Stay tuned!
В чем выгода перехода для организации на Linux?
Для того что бы не утомлять Вас большим количеством букв, давайте просто посчитаем сколько на среднестатистический компьютер сотрудника приходится выкладывать денег за лицензии (цены беру с популярного сайта по продаже ПО на 28 сентября 2019 года)?
- Microsoft Windows 10 Professional – 15 тыс рублей
- Microsoft Office Home and Business 2019 – 15 тыс рублей
- Антивирус – 1 тыс рублей
итак, получается самый минимальный комплект ПО для работы на компьютере уже должен быть обеспечен лицензиями на 30 тыс рублей.
НО !
если у вас компания в которой есть Сервер и компьютер входит в домен, то прибавляем к общей сумме:
- Microsoft Windows Server Standard 2019 (OEM) – 85 тыс рублей
- Microsoft Windows Server CAL 2019 – 1,5 тыс рублей (на каждый компьютер подключенный к серверу)
Думайте все?)) а вот и нет! если у вас есть бухгалтерия или юридический отдел, то как минимум они используют в работе след программы:
- Adobe Acrobat Pro – 15 тыс рублей
- Adobe Photoshop CC – 30 тыс рублей (но тут спорный момент для некоторых, но я его все равно включил )
на этом пока можно остановится, хотя можно было бы включить winrar, radmin и другое ПО, но моя задача была показать минимальный пакет ПО который мы используем в организации.
В чем выгода для системного Администратора при внедрении Linux?
Этот абзац точно понравится Вам, потому как я вам даю подсказку, а для некоторых неплохие перспективы для карьерного и профессионального роста) При внедрении Linux вы как минимум экономите миллионы рублей своему работодателю, но что получаете в замен? Одного спасибо тут недостаточно! И что бы получить с этого максимальную выгоду, объясните своему начальнику, что при внедрении и поддержки данной системы вам как минимум нужно получить обучение в каком нибудь центре, для того что бы поддерживать этот продукт на предприятии, а при правильно написанной докладной записки вам оплатят не только обучение, но и в выход на работу в выходные дни (а это еще + деньги)
так что личный интерес от внедрения Линукса:
- это огромный опыт
- хорошая строчка в резюме)))
- сертификаты!
#LinuxDay в шагах
Тут я буду описывать этапы нашего внедрения.
- Установка и обновление Simply Linux
- Установка Яндекс Браузера
- Выбор и установка офиса WPS office
- Ввод в домен
- Подключение сетевых дисков
- ПО для редактирования пункта меню (убираем лишнее ПО)
- Настройка почты Thunderbird + подключение адресной книги по LDAP
- Настройка и установка принтеров
- Настройка RDP
- Настройка поиска файлов
- Настройка архиваторов (иероглифы при разархивировании)
- Настройка раскладок клавиатуры при авторизации и на рабочем столе по умолчанию
- Проигрывание Видео в Яндекс браузере
Настройка кластера и клиента
На любой компьютер в сети установим толстый клиент 1С:Предприятие той же версии, что и сервер. Во время установки обязательно выбираем компонент Администрирование сервера 1С:Предприятие:
Устанавливаем клиента 1С. После установки в меню пуск находим ссылку Регистрация утилиты администрирования серверов (версия) и запускаем ее от имени администратора:
Теперь запускаем утилиту Администрирование серверов 1С Предприятия:
В открывшемся окне кликаем правой кнопкой мыши по Central 1C:Enterprise 8.3 servers — выбираем Создать — Центральный сервер 1С:Предприятие 8.3:
Пишем имя сервера 1С или его IP-адрес:
… и нажимаем OK. В панели управления появится подключение — переходим в раздел Кластеры — Локальный кластер — кликаем правой кнопкой по Информационные базы — выбираем Создать — Информационная база:
Заполняем параметры для создания новой базы:
* в данном примере нами были заполнены:
- Имя — задаем произвольное имя для подключения к базе.
- Сервер баз данных — имя или IP-адрес базы. Задаем localhost, так как в нашем случае сервер 1С и сервер баз данных находятся на одном сервере.
- Тип СУБД — выбираем PostgreSQL.
- База данных — имя базы данных.
- Пользователь сервера БД — пользователь, под которым будет выполняться подключение к базе. В нашем примере postgres.
- Пароль пользователя БД — пароль для базы, который мы задали после установки СУБД.
- Создать базу данных в случае ее отсутствия — ставим галочку, чтобы база была создана.
Если мы получим ошибку Этот хост неизвестен:
… необходимо убедиться, что имя сервера разрешается в IP-адрес. Для этого необходимо его добавить в локальную DNS или файл hosts.
База должна создастся. Теперь запускаем 1С клиент и добавляем новую базу — при добавлении выбираем Добавление в список существующей информационной базы:
Указываем произвольное имя информационной базы, а также выбираем тип расположения базы На сервере 1С:Предприятия:
Нажимаем Далее и Готово. Запускаем конфигуратор, загружаем базу и пользуемся.
Как попробовать понравившуюся сборку Linux
1. Скачиваем и устанавливаем бесплатную утилиту Etcher. Она кроссплатформенная, можно установить на Windows, Linux и macOS.
2. Загружаем подходящий образ Linux, например, Ubuntu.
3. Запускаем приложение Etcher и подключаем к компьютеру флешку объемом 4 Гб или более.
4. Выбираем флешку в качестве целевого диска и скачанный образ Linux в качестве источника.
Внимание! Все данные с флешки будут удалены при форматировании
5. Ждем несколько минут, пока утилита не запишет образ на накопитель.
6. Подключаем флешку к компьютеру и перезагружаем его в режиме запуска с USB-диска. Это можно настроить в BIOS или зажать определенную клавишу при включении ПК.
7. После загрузки оболочки следует выбрать нужный язык и активировать ознакомительный режим Live-запуска Linux.
Буквально через минуту-две увидите рабочий стол операционной системы с полным набором утилит и возможностей. Запускайте любые приложения, тестируйте систему, выходите в сеть и подбирайте подходящую сборку Linux.
Все в файле
Эта концепция отлично сочетается с автоматизацией задач. Файловая модель Unix-подобных ОС означает, что пользователь может легко получить доступ к каждому физическому устройству или конечной точке программного обеспечения из командной строки. Устройства обычно хранятся в папке .
Устройства хранения можно легко смонтировать с помощью команды «mount device location». После этого к ним можно будет получить доступ, поскольку они были частью файловой системы. Чтобы размонтировать их, используйте следующую команду: .
Для чтения или записи данных с/на устройства можно использовать специальные утилиты, позволяющие получать доступ к процессору, источнику питания, аппаратным модулям и взаимодействовать с ними.
Также можно создавать виртуальные устройства как способ взаимодействия вашей программы с другими. Например, вы можете создать виртуальную камеру для потоковой передачи ее вывода и применить некоторые специальные эффекты к исходному видео.
Курс PHP.
Станьте експертом у веб-розробці з PHP! Оволодійте необхідними навичками та ставайте Junior PHP Developer для успішної кар’єри та заробітку!
Більше про курс
Переходить или нет?
Здесь у каждого пользователя будет свой набор аргументов “за” или “против”, но вот полностью отказаться и не попробовать Linux даже в Live-режиме вряд ли кто-то сможет.
Простая и легковесная ОС с удобными инструментами, магазином приложений и возможностью полной кастомизации давно обзавелась большой армией поклонников.
Никто не утверждает, что Linux идеальна. С переходом на эту систему будут и потери: придется мириться с ограниченностью софта, решать возникшие проблемы при помощи командной строки, отказаться от некоторых привычных приложений или утилит. Однако, при этом вы будете повышать свой уровень знаний, учиться новому и приобретать полезные навыки.
Для себя я решил, что все компьютеры знакомых и родственников (кроме игровых) буду со временем переводить на Linux.
Если потенциальные трудности не пугают – Linux ждет вас!
iPhones.ru
Сейчас расскажем, как все сделать правильно.
Рассказать
Final preparation before the kernel decompression
I saw it in the previous paragraph.SectionThe label start. The first thing it did is emptyingFestival:
We want to initializeFestival, because we are going to jump toCCode. Here we will empty,BundleAdd address,BundlePut in, Then useFill zero.
Finally, we can callfunction:
We will set it againPoint toThe pointer of the structure and saves it to the stack. At the same time we set upPoint to the area for the core decompression. The last step is to prepareThe parameter and call this function of the decompressed kernel.Functionarch/x86/boot/compressed/misc.c Source file definitions and six parameters:
- — direction Structural pointer,Fill the loader fill or fill when the early kernel is initialized
- — Pointing the starting address of the early start heap Pointer
- — Point to the compressed kernel, ie Pointer
- — Size of compressed kernel
- — Decompress the start address of the kernel
- — Decompress the size of the kernel
All parametersSystem V Application Binary Interface Pass by register. We have completed all preparations, now we can see the process of decompression of the kernel.
Как подготовиться к переходу на Linux
1. Создайте загрузочную флешку с понравившейся сборкой операционной системы по инструкции выше.
2. Поищите в перечне приложений Linux аналоги нужных программ. Одним из лучших видеоплееров для платформы считается VLC, самый всеядный аудиоплеер Audacious, а графический редактор – GIMP. Офисный пакет может заменить LibreOffice, а роль основного браузера займет Chromium или Firefox.
Убедитесь, что замена для всех важных приложений найдена.
3. Будьте готовы к тому, что какой-то из компонентов компьютера не будет распознан операционной системой. Все решается поиском и установкой необходимых драйверов. “Нагуглить” способ решения проблемы просто, если есть интернет.
Иногда после установки Linux отказывается работать Wi-Fi, что делает затруднительным поиск решения. Вот, например, инструкция по установке драйверов для сетевых кар Broadcom.
Придется использовать второй компьютер или подключать ноутбук к роутеру через патч-корд, если заранее не загрузите нужные пакеты.
4. Определитесь с разбивкой накопителя на разделы. Лучше оставить физический или логический диск с операционной системой Windows. Возможно, вы захотите выделить место для хранения файлов и данных или раскроить пространство по своему усмотрению.
Разбить накопитель можно как из Windows, так и во время установки Linux.
5. Используйте имеющуюся флешку для установки полноценной операционной системы.
Миграция на Linux российской ИТ-отрасли
Благодаря форсированным процессам миграции госорганов на импортонезависимые решения буквально за четыре года в России появились серьезный научно-технический задел по переходу с Microsoft на Linux и успешные завершенные проекты. Далее возникают экономические вопросы реализации проекта. Экономика миграции с Microsoft на Linux – вопрос творческий и в каждом конкретном случае рассчитывается отдельно.
Для модернизации инфраструктуры, выстроенной 8-10 лет назад, с помощью продуктов Microsoft необходимо заключить трехлетний контракт с партнером производителя, приобрести лицензии нужного ПО и провести необходимый минимум работ по интеграции. При этом половина ИТ-бюджета будет потрачена на лицензирование. Вторая половина бюджета уйдет на обучение персонала и оплату услуг интегратора. Но через три года потребуется продление лицензий, последуют новые затраты на обучение, внедрение и т.д.
Инфраструктура на Linux требует меньших вложений. Экономия будет зависеть не столько от стоимости лицензий, которая ниже Microsoft, сколько от уровня ИТ-команды предприятия. Если команда слабая, риски можно снизить, привлекая к реализации проекта компетентного интегратора. При этом предприятие не финансирует западного вендора, а инвестирует в развитие собственного ИТ-персонала. Это очень важный аспект, потому что, по нашему опыту, ИТ-руководители связывают основные риски перехода на Linux именно с большим объемом работ, который требуется для достижения аналогичного результата на решениях Microsoft. Для сильной Linux-команды объем работ не является проблемой.