Сообщество - GNU/Linux
Добавить пост

GNU/Linux

1 040 постов 15 538 подписчиков

Популярные теги в сообществе:

CentOS 7: ошибка загрузки

Приветствую членов сообщества GNU/Linux и пикабушников, которые случайно наткнулись на данный пост!


!!! Ахтунг! Чукча не писатель! Поэтому заранее просит прощения за, возможно допущенные в ходе написания поста, грамматические ошибки, а также возможно не совсем корректное употребление некоторых терминов


Данный пост состоит из трёх частей.


В первой части содержится описание проблемы, с которой я столкнулся на днях.


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


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


Итак, первая часть.


Есть ноутбук Lenovo. Если нужно точное название модели -- я напишу его в комментариях. На данный ноутбук я поставил себе CentOS 7.


/*натыкался на просторах, что ставить CentOS на ноут -- это тот ещё изврат, но у меня на то были причины*/


На днях у меня при включении ноутбука отобразилась ошибка


Failed to open \EFI\BOOT\grubx64.efi - Not Found

Failed to load image \EFI\BOOT\grubx64.efi: Not Found

start_image() returned Not Found


При этом установленная система не запускалась вообще.


Теперь, плавно перейдём к тому, как именно данная проблема была мной решена.


Так получилось, что у меня под рукой была флешка с операционной системой Mint 18.3. Загрузившись с этой флешки я начал пытаться понять, что произошло с моим ноутбуком.


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


1. Зайти в BIOS, и установить для пункта Boot Mode значение UEFI.

2. Запуститься с загрузочной флешки и открыть терминал.

3. В терминале получить root-права.

4. Выполнить следующие команды:

su root

mount /dev/centos/root /mnt

mount --bind /dev /mnt/dev

mount --bind /proc /mnt/proc

mount --bind /sys /mnt/sys

modprobe efivars

chroot/mnt

efibootmgr --create --label CentOS --disk /dev/sda1 --loader "\EFI\centos\shim.efi"


5. После этого можно пробовать перезагружаться.


Далее -- мои вопросы к знатокам данной темы.


1. Является ли данная проблема специфичной для дистрибутивов CentOS или может проявиться где угодно?


Изначально у меня значение Boot Mode было [Legacy Support], но сейчас при установке этого значения ко мне возвращается исходная проблема и её приходится решать заново. Отсюда вопрос

2. В чём отличие этих двух режимов?


3. Является ли данный способ решения проблемы специфичным для тех операционных систем, которыми я располагал? Изменился ли бы алгоритм действий, если бы на ноутбуке и/или флешке были бы другие дистрибутивы?


4. Можно ли было как-то по-другому решить эту проблему? Есть ли какие-то явные недостатки у способа, описанного выше?


Данная проблема предположительно возникла в результате того, что у меня в BIOS была разрешена загрузка с флешки, и в момент включения ноутбука к нему была подключена флешка, которая, вообще говоря, не является загрузочной. Сейчас я запретил загрузку с флешки и проблема не проявляется.

5. Может ли действительно быть так, что проблема появилась из-за того, что компьютер попытался загрузиться с незагрузочной флешки. Можно ли это как-то предотвратить? Или следует разрешать загрузку с флешек только в тех случаях, когда я действительно хочу загрузиться с флешки?


6. К какому разделу информатики, или администрирования, или ещё чего относится данная проблема? На какие темы следует обратить внимание для повышения собственной грамотности в данном вопросе?


Заранее спасибо всем за ответы. Надеюсь мой пост окажется полезным.

Показать полностью

#ЗАМЕТКА Как в Linux конвертировать PDF в JPG без тормозов и потерь качества

Частыми примерами для конвертации, является convert из пакета ImageMagic.

Но эта "магическая" функция обожает вначале съедать оперативку, потом гордо сообщая - "А оперативочки то больше нет", умирать.

#ЗАМЕТКА Как в Linux конвертировать PDF в JPG без тормозов и потерь качества Linux, Терминал, Заметки

Воспользуемся пакетом Poppler.


Производим установку из терминала:

sudo apt-get install poppler-utils


Простейший пример конвертации PDF в JPG:

pdftocairo -jpeg "имяфайла.pdf"


И немного о ключах:

-png

Создает PNG-файл(ы)

-jpeg

Создает файл(ы) JPEG

-tiff

Генерирует TIFF-файл(ы)

-f

Задает первую страницу для преобразования.

-l

Задает последнюю страницу для преобразования.

Создает только страницы с нечетными номерами.

-e

Создает только четные страницы.

-r

Определяет разрешение "печати". Значение по умолчанию - 150 PPI.

-mono

Создайте монохромный файл (только PNG и TIFF).

-gray

Создайте файл в оттенках серого (только PNG, JPEG и TIFF).

Показать полностью

Рукожоп 80 lvl...

Рукожоп 80 lvl... Linux mint, Рукожоп, Обида

Как можно было sources.list косячнуть, устанавливая игруху, непонятно. А ведь так не хочется переустанавливать, мануалы по восстановлению все перепробовал.

Как должность "животворящая" на саппорт влияет.

История произошла где-то 2011 году в Новосибирске.

Звонит мне друг и говорит, мол интернет не работает, саппорт "белые и пушыстые", говорят заказываейте платного компьютерного мастера.

У них был подключен ADSL от Ростелекома (Webstream). Сказать, что он и его семья с компами не дружит - не могу: настроить подключение к интернету они способны и на винде и на линуксе.

Приехал к ним в гости. Настраиваю с нуля подключение в модеме. DHCP выдаёт шлюз равный назначенному IP.  Прежде чем звонить в саппор, переключаю модем в режим бриджа и пытаюсь поднять коннект на винде и на линуксе - результат одинаковый (только ip разные).

Звоню в саппор. Девушка первой линии поддержки по скрипту начинает обрабатывать: "Включен ли модем, горят ли на нём лампочки и т.д." Но из вежливости я отвечал на все её вопросы, хотя несколько раз вставил, что ip и gate совпадают. После получаса ответа на скриптовые вопросы она выдала, мол у вас проблемы с ПК, вызов мастера у нас платный.

Вот здесь меня сорвало:

- Девушка, я ведущий администратор активки такого-то провайдера. У вас дхцп выдаёт гейт равный адресу устройства! Переключите на нормально специалиста!

- Подождите минут......  Вам в ближайшее время перезвонят...

Но ни через 10 минут ни через час мне не перезвонили. Я попил чай и поехал дальше по делам.

На следующий день друг мне звони и рассказывает. Приехали какие-то мальчики, показали документ, что они из ростелекома. Потыкали на компе, сказали, что и правда у них проблема и уехали. Через час инетрнет работал как часики :-)

Спустя некоторое время другой знакомый обратился за помощью, мол почта не отправляется. Но он с компами не так дружит. Провайдер Сибирские Сети.

Приезжаю, а у него на компе спам-вирус и провайдер заблокировал 25 порт. Убиваю вирус, ставлю антивирус и звоню в саппорт.

Я: Девушка, абонент такой-то. Был вирус и его убрали. Прошу разблокировать 25 порт.

Девушка: У вас кабель в компьютер воткнут?

Я: Девушка, я ведущий администратор активки такого-то провайдера. Соедините меня с нормальным специалистом!

Минут через 10 звонок, а там какой-то парень:

Парень: саппорт сибсетей, что у вас случилось.

Я кратко повторяю что мне надо открыть 25 порт.

Парень немного охреневший: И это всё?

Я: да, но ваша первая линия не смогла составить даже такой простой тиккет.

Парень: готово, извените за неудобство :-)

Иногда  полезно озвучивать свою должность, чтобы вас не воспринимали как  среднестатического юзера.

Показать полностью

Релиз стабильной версии Wine 3.0

Наконец свершилось!
Разработчики представили стабильную версию Wine под номером 3.0.

Релиз стабильной версии Wine 3.0 Wine, Linux, GNU, IT

Релиз содержит более 6000 изменений. Из основных нововведений:


- Поддержка Direct3D 10 и 11

- Поток команд Direct3D (CSMT)

- Графический драйвер Android

- Улучшенная поддержка DirectWrite и Direct2D.


На сегодня в роадмапе для следующего релиза запланирована поддержка DirectX12, DirectX9 силами OpenGL ES (необходимо для Android). Поддержка Vulkan API также отложена (что довольно странно, при "живом" то D3D11).

З.Ы. поддержка Witcher 3 и Photoshop CC 2018 на сегодня доведена до юзабельного состояния))

Ссылка на полный анонс:

https://www.winehq.org/announce/3.0

Показать полностью

Саппорт Билайн и линуксоиды

Дело было вечером, делать было нечего, но сильно хотелось домой.

И вдруг, мама говорит, что пропал интернет. Еду к маме.

Ноут с манжарой - роутер - интернет-билайн

Сбросил роутер, пытаюсь найти в инете как его настроить, а там какой-то мусор и спам, причём на сайте самого билайна инфы нет про настройку роутеров.

Самое смешное, что ноут к инету через нетворкманагер коннектится (настаивал когда роутера ещё не было).

Пробовал разные протоколы на роутере л2тп, ппое, пптп, вроде как соединяет, но инета нет.

Звоню в Билайн, куда деваться, пытаюсь выяснить какой протокол правильно использовать.

На вечный вопрос 'какая версия винды' говорю 'не важно, роутер, модель... прошивка..', ведь когда услышат 'линукс' сразу отказывают.

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

Молодой человек тоже не мог понять что за глюк сроутером (а это был глюк роутера), попросил подключить кабель напрямую к компу. Когда НМ установил соединение, молодой человек матернулся и бросил трубку.

Я хотел лишь выяснить какой протокол использовать, но этой инфы от билайна не добьетесь ни за что, и в личном кабинете про это теперь тоже не узнать.

Ещё раз сбросил роутер и подсоединился по л2тп.

С Новым годом!

Не думай о пингвинах свысока,

Со Столлманом ты больше не воинствуй,

Отбрось сомненья, становись под флаг

Открытого свободного единства.

С Новым годом! Linux, GNU, Фотография, Пингвины

Поиграем в бизнесменов?

Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.

СДЕЛАТЬ ВЫБОР

Архивация и компрессия файлов. Часть 2

Многие файлы содержат сколь-нибудь повторяющуюся, лишнюю информацию. Поэтому технически возможно преобразовывать её так, чтобы уменьшить общий размер. Это и есть компрЕссия (compression, "компрЕшэн"), или сжатие, данных.


Сжатие не следует воспринимать как "удаление ненужных частей". Важно, чтобы восстановленный файл имел точно такое же содержимое, что исходный (совпадения размеров файлов - не достаточно).


Есть много алгоритмов компрессии и много форматов сжатых файлов. В UNIX и Linux популярны форматы сжатия Bzip2, Gzip (традиционный), LZMA, XZ. Для примера - те же три файла:


$ cd works

$ cp old/file?.* today/


Компрессор gzip для формата Gzip обычно удаляет файл-операнд; иначе нужна опция -k (от keep):


$ cd today

$ gzip -k file?.*

$ du -k file?.*

100 file1.000

4 file1.000.gz

100 file2.rnd

104 file2.rnd.gz

100 file3.txt

32 file3.txt.gz


Шаблоны имён здесь раскрывает оболочка. Расширение имени здесь добавляется, а не заменяет исходное.

Понятие "степень сжатия" (compression ratio) толкуется по-разному: 1) "какую долю от размера исходного файла составляет размер сжатого файла" либо 2) "какую долю удалось убрать". Обычно выражается в процентах.


Выше видно, что нулевой файл имеет степень сжатия (1) в четыре процента (то есть сжат в 25 раз), случайный файл - 104% (то есть лучше было бы его вовсе не сжимать), текстовый файл - 32% (то есть примерно втрое уменьшился).


Вот вывод компрессором информации об архиве, в том числе степени сжатия в смысле (2):


$ gzip -l file3.txt.gz | column -t

compressed uncompressed ratio uncompressed_name

29806 102400 70.9% file3.txt


В выводе не учтены внутренние вспомогательные данные формата, здесь - около 3 КиБ: 100 - 71 = 29; 32 - 29 = 3.


Нередко алгоритм допускает несколько степеней сжатия. По умолчанию программа обычно выбирает нечто среднее. За более сильное сжатие (меньше размер) приходится платить увеличенными временем упаковки и расходом оперативной памяти. Нередко выигрыш в степени сжатия оказывается незначителен. Скорость распаковки остаётся прежней.


$ rm file{2,3}.*.gz

$ gzip -fkv --best file{2,3}.*

file2.rnd: -0.0% -- replaced with file2.rnd.gz

file3.txt: 70.9% -- replaced with file3.txt.gz

$ du -k file{2,3}.*

100 file2.rnd

104 file2.rnd.gz

100 file3.txt

32 file3.txt.gz


В данном случае - никакой разницы.


Опция -f - принудительное выполнение (от force), то есть здесь - заменить (replace) уже существующий сжатый файл новым. Опция --best - сжать наилучшим доступным алгоритмом (с параметрами, нацеленными на наиболее сильное сжатие).


Можно попробовать другой компрессор/формат, например bzip2 (Bzip2, ".bz2"):


$ bzip2 -k file3.txt

$ du -k file3.*

100 file3.txt

28 file3.txt.bz2

32 file3.txt.gz


Здесь есть небольшой выигрыш: 32 - 28 = 4.


Нет простого способа узнать, насколько сильным будет сжатие. Тексты часто сжимаются со степенью (1) ниже 50%. Хуже всего сжимаются хаотичные (случайные, шум) данные.


Для удобства можно считать, что для файлов средних размеров сжатие уместно, если степень (1) составляет 60% и ниже (то есть сэкономлено 40% места и больше). Если файл большой (1 ГиБ и выше), то даже небольшая экономия при сжатии может быть уместна. Уже сжатый файл обычно бесполезно сжимать ещё раз. Файлы размером ниже 3 КиБ сжимать тоже бесполезно.


Для "декомпрессии" (распаковки, извлечения оригинала) сжатого файла часто есть не только опция компрессора, но и отдельная программа-распаковщик. Или сам компрессор может быть запущен под другим именем файла (например, с жёсткой ссылкой) для распаковки - это зависит от программиста.


$ gzip -d -kf file2.rnd.gz

$ gunzip -kf file2.rnd.gz


Здесь или опция -d, или программа gunzip. Опции -k, -f - с прежним смыслом. Аналогично с BZip2:


$ bzip2 -d -kf file3.txt.bz2

$ bunzip2 -kf file3.txt.bz2

$ diff -qs /bin/bunzip2 /bin/bzip2

Файлы /bin/bunzip2 и /bin/bzip2 идентичны


Документация: man-страницы.


Чтобы задействовать содержимое оригинального (несжатого файла), обычно нужно явным способом распаковать сжатый. На это тратится процессорное время; в мобильном компьютере может быть повышенный расход заряда аккумулятора. Кроме того, степень сжатия непредсказуема или даже (1) выше 100%, поэтому при массовых правках файлов свободное место на диске может внезапно закончиться.


Чтобы задействовать содержимое оригинального (несжатого файла), обычно нужно явным способом распаковать сжатый. На это тратится процессорное время; в мобильном компьютере может быть повышенный расход заряда аккумулятора. Кроме того, степень сжатия непредсказуема или даже (1) выше 100%, поэтому при массовых правках файлов свободное место на диске может внезапно закончиться.


Есть несколько форматов файловых систем, где файлы сжимаются/распаковываются автоматически (говорят: "на лету" (on-the-fly) или "прозрачная (transparent) распаковка").


Есть аналоги привычных утилит с именами, начинающимися на bz (для BZip2), xz или z (GZip): bzcat, bzless, bzgrep и другие. Делают то же, что оригиналы, но со сжатыми файлами.


Midnight Commander, подобные ему двухпанельные диспетчеры файлов, некоторые другие диспетчеры - могут открывать/распаковывать архивы/сжатые файлы. Иногда есть возможность имитировать монтирование архива как каталога (только на чтение, иногда ещё и на запись). В таких случаях программе может понадобиться предварительно распаковать файлы во временный каталог (обычно куда-то в /tmp/). Это заметно как зависание программы при работе с большим (несколько десятков МиБ и выше) архивом.


В UNIX и Linux компрессия традиционно является операцией над одиночным файлом. То есть для компрессии каталога с содержимым - нужно сначала создать архив, а потом его сжимать (либо, реже, - сжать каждый файл, а потом заархивировать всё).


Архиватор tar может задействовать какой-либо компрессор, если тот воспринимает просто имя файла как сигнал к сжатию либо воспринимает опцию -d как сигнал к распаковке (декомпрессии). Опции tar для внешних компрессоров: -z для gzip, -j для bzip2, -J для xz. Для остальных компрессоров - опция -I (заглавная i, после которой указать имя программы). Примеры:


# Архив tar внутри сжатого файла Gzip одной командой.

$ tar -cvz -f archive.tar.gz "old"

old/

old/file3.txt

old/file1.000

old/file2.rnd

$ du -s archive.tar.gz

136 archive.tar.gz

# Вывод сокращён.

$ file archive.tar.gz

archive.tar.gz: gzip compressed data


# Архив tar внутри сжатого файла Bzip2 одной командой.

$ tar -cj -f archive.tar.bz2 "old"

$ du -s archive.tar.bz2

132 archive.tar.bz2

$ file archive.tar.bz2

archive.tar.bz2: bzip2 compressed data, block size = 900k


# Архив tar внутри сжатого файла LZMA одной командой.

$ tar -c -I lzma -f archive.tar.lzma "old"

$ du -s archive.tar.lzma

128 archive.tar.lzma

$ file archive.tar.lzma

archive.tar.lzma: LZMA compressed data, streamed


Вместо множественных расширений вида ".tar.gz" могут попадаться одиночные: ".tgz", ".tbz", ".txz" и другие - по традиции или при необходимости соблюдать ограничения на длину имени. Устаревший компрессор - compress; расширение ".Z"; в tar есть опция -Z.


# Примеры распаковки сжатых архивов одной командой:

$ rm -r old/

$ tar -xj -f archive.tar.bz2

# Или:

$ tar -x -I lzma -f archive.tar.lzma


Чтобы изменить содержимое сжатого архива, программе приходится его предварительно распаковывать, а после внесения изменений - заново упаковывать обратно. Это затраты времени, оперативной памяти и, возможно, пространства на диске для временного хранения. Может оказаться удобнее - упаковать файлы в поддереве по отдельности, не создавая архива. У gzip/gunzip есть опция -r (от recursive). Для других программ можно задействовать find (и, если нужно, xargs).


В семействе Windows привыкли воспринимать архивацию и компрессию как единую, неделимую операцию. Часто говорят "заархивировать" в смысле "получить сжатый архив"; "разархивировать" - "выполнить и декомпрессию, и извлечение из архива". Или: "упаковать" и "распаковать" файлы. И сжатые файлы называют "архивами". Для большинства пользователей важно именно сжатие данных, а архивация подразумевается сама собой.


Популярные в Windows форматы сжатых файлов с возможностью хранения файлового поддерева (архива): ZIP, RAR. Соответственно программы: для командной строки - zip.exe, rar.exe; для GUI - WinZip, WinRAR. Диспетчер файлов системы Windows - Проводник (Explorer) может смонтировать архив ZIP как подкаталог там, где находится сам файл архива. Есть и другие программы, в том числе поддерживающие много форматов, например: 7-Zip, PeaZip (и вышеуказанные WinZip, WinRAR).


Набор программ p7zip (в том числе 7z, 7za) является вариантом 7-Zip для командной строки UNIX и Linux. Формат 7z может давать более сильное сжатие, чем Gzip и Bzip2.


В Linux может быть проблема с форматом ZIP для файловых имён, содержащих не-латиницу. У ZIP есть свой внутренний формат хранения имён. Если создать архив в Windows, а потом попытаться распаковать в Linux, имена превратятся в наборы кракозябров. В последнее время дистрибутивы обычно поставляют исправленные программы unzip и zip. Или придётся пробовать перекодировать имена программой iconv или convmv.


Возможные (ненадёжно) варианты перекодировки имени (предполагаемый в примере файл сохранил расширение ".pdf" на латинице, поэтому файл можно как-то задействовать через шаблон оболочки):


$ N=$(ls *.pdf | iconv -f cp1252 -t cp850 | iconv -f cp866)

# Или другой вариант:

$ N=$(ls *.pdf | iconv -t iso8859-1 | iconv -f cp866)


# После каждого варианта просмотреть

# содержимое переменной N для перекодированного имени.

$ echo $N

# И если имя выглядит разумно, то:

$ mv *.pdf "$N"

$ unset N


Программы для Windows часто поставляются в виде особых архивов, в том числе формата Microsoft Cabinet (".cab"). Такие архивы по лицензионным соглашениям запрещено распаковывать вручную. Для Linux есть программа cabextract.


Иногда в России встречаются старые форматы архивов с внутренней компрессией: ARJ, HA, LHA и другие. Для Linux могут найтись программы: arj, ha, unar. Иначе может понадобиться устанавливать FreeDOS/Wine или иную среду выполнения DOS/Windows-программ, а потом искать соответствующие декомпрессоры.


В Windows нередко создают "самораспаковывающиеся" (self-extracting) архивы: это программа-распаковщик, к которой присоединён собственно архив. Как и обычная программа для Windows, имеют расширение ".exe". Предназначены для пользователей, у которых нет своей копии распаковщика. Иногда такой архив можно распаковать и в Linux (зависит от формата архива и наличия программ, например 7-zip). Нежелательны к применению, потому что могут содержать программы-вирусы. Не следует запускать напрямую, а лучше - открыть отдельным распаковщиком. В Linux иногда делают сценарии оболочки, состоящие из команды на распаковку и присоединённого к сценарию архива; программы: makeself, shar (sharutils).


В некоторых форматах архивов и/или сжатых файлов предусмотрено шифрование с паролем: 7z, RAR, ZIP и другие.


Компрессия данных может встретиться и на системном уровне. Например, в некоторых файловых системах нулевые фрагменты (пустые блоки) внутри файлов не хранятся и не копируются (это называется "разреженные файлы", sparse files).


Программы для GUI: Archive Manager (File Roller) для GNOME, Ark для KDE, Engrampa для MATE, PeaZip, Xarchiver. Они отображают содержимое архивов, подобно тому как диспетчеры файлов отображают содержимое каталогов; предоставляют меню команд создания/распаковки архивов. Но сами не содержат программного кода архиваторов/компрессоров, поэтому требуют установки библиотек (libarchive, liblzma, unrar и других) и самих архиваторов/компрессоров для командной строки.


В файлах мультимедиа (изображения, звук, видео) часто применяют алгоритмы "несимметричного" сжатия, то есть с частичной потерей информации. Это позволяет сжать данные ещё сильнее (в десятки или больше раз). Некоторые потери в деталях изображений или в звуковых волнах уместны, если средний человек эти оттенки/детали/шумы и прочее не различает. Такие алгоритмы обычно имеют широкий набор настроек, поэтому нужно следить за тем, чтобы качество мультимедиа не стало плохим, явно заметным.

Показать полностью
Отличная работа, все прочитано!