- Семь причин, почему Линукс
- Прозрачность
- Доступность
- Безопасность
- Децентрализация
- Гибкость и разнообразие
- Масштабируемость
- Простота
- 20 советов для линукс-гиков
- 1. Список не ваших процессов
- 2. Замена текста в файлах
- 3. Исправить консоль
- 4. Создать keywords в Mozill’е
- 5. Запуск множественных X-сессий
- 6. Ускорение серфинга
- 7. Легкое резервное копирование
- 8. Поддерживать ваши часы в актуальном состоянии
- 9. Поиск самых больших файлов
- 10. Горячие клавиши Nautilus’а
- 11. Оптимизация баз данных
- 12. Быстрые письма
- 13. Распараллеливание сборки
- 14. Увеличение время работы батареи
- 15. Управление скоростью беспроводного подключения
- 16. Список откртых портов
- 17. Увеличение скорости работы жестких дисков
- 18. Удаленный доступ к вашим программ.
- 20. Диаграмма взаимосвязи пакетов
- 21. Принудительное отключение занятых устройств
- 22. Конвертирование кодировок текстовых файлов
- 23. Поиск измененных сегодня файлов
Семь причин, почему Линукс
Linux доминирует на всех типах компьютеров, кроме настольных (десктопы и ноуты) и, наверное, мейнфреймов. Встроенные системы, мобильные, серверы-облака-суперкомпьютеры — везде преобладают системы на ядре Linux. Линукс провалился на десктопах и мейнфреймах только потому, что в сегментах этих доминируют монополии — Microsoft и IBM. И Майкрософт всеми силами старается удержать своё доминирование (IBM понемногу сдаёт позиции — переводит свои мейнфреймы на Linux).
Майкрософту на руку играет огромная экосистема Windows, её инерция, которая тащит за собой бизнес и домашних юзеров. Но и экосистема Linux сильно разрослась по сравнению с тем, что было лет 15 назад, и сейчас многим организациям и домашним пользователям есть резон перейти на Линукс. И даже не один, а целых семь.
Прозрачность
Linux и большинство софта его экосистемы имеют открытые/свободные лицензии вроде GPL и BSD. Это значит, что исходники программ не хранятся где-то в глубоких программистских копях корпораций, а лежат перед глазами всего мира на публичных серверах. Более того, процесс разработки этого софта тоже полностью открыт, каждое изменение зафиксировано и видно всем. Поэтому код постоянно проверяется децентрализованной сетью специалистов со всего мира на предмет ошибок, уязвимостей и зловредов. Если же изменения (патчи) может присылать любой желающий — такой софт совершенствуется быстрее проприетарного (с поправкой на популярность и модель разработки, конечно).
Доступность
Вы можете получить легальную (лицензионную) копию системы полностью бесплатно, скачав в интернете. Да, есть коммерческие дистрибутивы вроде RHEL, но в них вы платите за обновления и техподдержку. Сами эти дистрибутивы, опять же, можно легально скачать, не платя ни копейки. Предприятие или организация может сильно сэкономить на лицензиях, потому что пиратский софт для них крайне рискован и потому недопустим. На мой взгляд, рядовому домашнему пользователю тоже лучше не пользоваться пиратскими (взломанными) программами, даже несмотря на почти нулевой риск попасть под статью. Ведь взломанная система или программа может работать нестабильно. Да и что мешает пиратам-взломщикам засунуть в код какой-нибудь троян или рекламный модуль?
Имея хорошие скиллы в программировании (и не имея личной жизни), вы можете сами контролировать код программ, которые используете. Тоже совершенно легально. Для организаций и компаний это особенно удобно.
Безопасность
Чуть менее чем все зловреды, обитающие в глобальной сети, разработаны для Windows и её экосистемы. Linux хорошо защищает ваши локальные системы и сети от заразы вроде троянов, вирусов, майнеров, локеров, рекламных модулей.
Да, линуксовые серверы ломают и заражают часто, но большая часть атак происходит через приложения вроде веб-серверов/движков/и т.д. или через явные ошибки в администрировании системы. При надобности уровень защиты можно выкрутить до непробиваемого уровня с помощью hardened-инструментов вроде PaX и SELinux.
Я часто вижу беспечное отношение людей к безопасности своих домашних систем, мол, что этим хакерам с меня взять. На самом деле, у каждого в 2020 году можно много чего взять с компьютеров: рабочие учётки, аккаунты от банков и кошельков, и т.д. Да и личные/рабочие файлы можно потерять из-за какого-нибудь шифровальщика, тоже приятного мало. Хакерам же незачем пыхтеть ломать вручную конкретно вас, боты и вирусня делают всё сами в массовых масштабах.
Децентрализация
Открытые и свободные программы принадлежат сразу всем и никому конкретно. Благодаря этому разные компании, страны, организации, коллективы и даже одиночки вроде Патрика Фолькердинга делают собственные дистрибутивы (комплекты) Linux. Только самых популярных дистрибутивов не меньше десятка, а сколько их всего — неизвестно, потому что дистрибутив для своих внутренних нужд может сделать любая организация.
Как следствие, пользователю Линукса ни один человек, компания или государство не могут диктовать свои условия, особенно если у него есть ресурсы для локального контроля исходников. Да, есть главная ветка ядра, которой командует великий и ужасный (сейчас уже не такой ужасный) Линус Торвальдс, но есть и другие ветки, которыми командуют другие. Да, вы в одиночку скорее всего не сможете влиять на разработку компонентов системы или приложений, но вы можете блокировать или фильтровать изменения. Здесь всё упирается в количество проприетарного софта — чем его больше у вас, тем меньше у вас контроля над происходящим (а проприетарный софт есть и на Линуксах).
Гибкость и разнообразие
Разные дистрибутивы зачастую серьёзно отличаются друг от друга, несмотря на массу всяких Болженосов, у которых из уникальных фич только нескучные обои. Какие-то дистрибутивы делают упор на корпоративную экосистему и поддержку (RHEL, SLED, Fedora, Ubuntu, Calculate), какие-то — на универсальность и мощь (Debian, openSUSE, Arch). Есть узкоспециализированные варианты (медиа-центры, рабочие станции, системы для оборудования и роботов), есть легковесные сборки, есть секурные дистрибутивы для безопасников и Kali для их ночных кошмаров. NixOS и Gentoo предлагают мощные инфраструктуры для кастомизации систем и прикладного софта, для создания заточенных под конкретные задачи сборок. Есть Линуксы для православных и сатанистов (я не шучу), для музыкантов и видеомонтажёров, игровые и образовательные сборки.
Если у вас возникает надобность решить какую-то компьютерную задачу — возможно, для неё уже сделан дистрибутив Линукса.
Масштабируемость
Ядро Linux работает и на встроенных системах, и на суперкомпьютерах. В Линуксах нет искусственных ограничений на количество процессоров, ядер, оперативной памяти, и так далее. Фактически, вы можете скопировать Линукс со своего ноута на взрослый сервер, и он будет работать без проблем. Привет, Microsoft, который даже на Windows 10 Pro не даёт нормально работать больше чем с 64 ядрами 🙂
Это работает и в обратную сторону — любому одиночке-энтузиасту доступны все взрослые возможности вроде упомянутых выше hardened-инструментов или софта для промышленного оборудования и сервисов.
Простота
Да, настольный Linux проще в обращении, чем Windows. Всё, что нужно делать — это ставить-удалять программы через менеджер пакетов и обновлять систему через него же (да и апдейты ставить вас никто не заставляет). Вы избавлены от головной боли поиска и скачивания программ, в которых зачастую то реклама, то куча левых программ впридачу, то вообще зараза какая-нибудь. Система со временем почти не накапливает ошибок и глюков, хотя количество установленных-удалённых пакетов может исчисляться тысячами. Я, например, уже пятый год таскаю за собой Линукс с компа на комп простым копированием корня и домашнего каталога.
Если вам хватает линуксового софта, а железо ваше нормально поддерживается Линуксом, то затруднить переход вам могут только накопленные на Windows привычки и паттерны.
Источник
20 советов для линукс-гиков
Что отличает обычного пользователя Линукса от профессионала? Ответ прост: это — годы, проведенные за изучением хитростей и приемов, которые позволяют решать не быстрые задачи в одно мгновение. Если вы хотите увеличить скорость работы без долгого набивания шишек в консоли, подобрано 20 легких для изучения приемов. Они помогут сделать вашу работу эффективной и выжать максимум возможностей из вашего компьютера.
1. Список не ваших процессов
Представьте ситуацию: вы уже приготовились к игре в Counter-Strike с вашими коллегами в пятничный вечер, но одно — ваш комп не слабо подтормаживает, а указатель мыши показывает вам слайд-шоу. Это может быть кто-то из тех пользователей, которые «крадут» драгоценное время своими научными экспериментами, веб-серверами и другими гиковскими штучками.
Нет проблем, получим список всех процессов, которые запустили не вы:
ps aux —sort=-%cpu | grep -m 11 -v `whoami`
2. Замена текста в файлах
Сложность: средняя
Приложение: find/Perl
Если надо заменить текст не в одном файле, то есть несколько способов. Для того, чтобы заменить текст «Windows» на «Linux» во всех файлах в текущей директории, название которой начинается с «test», введите в консоли:
perl -i -pe ‘s/Windows/Linux/;’ test*
find. -name ‘*.txt’ -print | xargs perl -pi -e’s/Windows/Linux/ig’ *.txt
find -type f -name ‘*.txt’ -print0 | xargs —null perl -pi -e ‘s/Windows/Linux/’
Сохраните немало времени и получите статус гуру Линкуса.
3. Исправить консоль
Сложность: легкая
Приложение: bash
Если использовать команду less или cat для просмотра файла, в конце которого — бинарные данные, то можно легко испортить консоль. Потому что в бинарных данных могут попасться любые сочетания управляющих кодов: компьютер будет издавать звуки «бип-бип», появятся прикольные символы, странные цветовые сочетания. В конце концов, шрифт изменится на какие-то иероглифы. Bash, очевидно, продолжает работать, но вы ничего не можете прочитать и не сделать. Просто наберите в консоли команду инициализации:
и все будет хорошо.
4. Создать keywords в Mozill’е
Сложность: легкая
Приложение: Firefox/Mozilla
Полезной особенностью Konqueror’а является возможность, набрав в адресной строке «gg onion», прогуглить слово onion. Тоже самое можно сделать в Firefox’е: сперва найдите меню Bookmarks>Manage Bookmarks и выберите Add a New Bookmark. Добавьте этот URL:
Выберите эту запись в редакторе закладок и откройте ее свойства. Введите в поле keyword gg — и все. Вместо %s будет подставлен текст после gg. Этот прием можно применить к другим сайтам, которые полагаются на данные в URL’е.
Другой вариант: сделайте клик правой кнопкой мыши в поисковом поле и выберите пункт меню Add a Keyword for this Search. . Появится окно, где можно задать keyword.
5. Запуск множественных X-сессий
Сложность: простая
Приложение: Х
Если надо дать кому-нибудь доступ к Вашему компьютеру, то вы может откроете для себя, что это не всегда необходимо. Если предположить, что компьютер стартует в графическом режиме (runlevel 5), то, одновременно нажав Ctrl+Alt+ , вы попадете в консоль. Введите логин и пароль, потом исполните следующий код:
чтобы воити в графическое окружение. Чтобы вернуться в предыдущую сессию, нажмите Ctrl+Alt+ , для еще одного возврата — Ctrl+Alt+ . Вы можете этот трюк: клавиши с F1 по F6 отвечают за 6 сессий консоли, а клавиши с F7 по F12 — за 6 Х-сессий. Подводный камень: в разных дистрибутивах могут использоваться разные сочетания клавиш.
6. Ускорение серфинга
Сложность: простая
Приложение: KDE
В KDE есть малоизвестная, но полезная опция для ускорения веб-серфинга. Запустите KDE Control Center и выберите System > KDE performanсe. Вы можете включить предварительную загрузку Konqueror’а. То есть браузер загрузится при запуске системы в фоновом режиме. Когда он потребуется, то появится практически мгновенно. Совет: прочитайте еще 20 подсказок для ускорения KDE
7. Легкое резервное копирование
Сложность: простая
Приложение: Backups
Если надо сделать резервную копию папки и скопировать только изменившиеся файлы, то можно использовать для этого rsync (вам нужен аккаунт на удаленном компьютере):
rsync -vare ssh jono@192.168.0.2:/home/jono/importantfiles/* /home/jono/backup/
Эта команда делает резервную копию всех файлов из /home/jono/backup/ в /home/jono/importantfiles/ на компьютере с IP-адресом 192.168.0.2
8. Поддерживать ваши часы в актуальном состоянии
Сложность: простая
Приложение: NTP
Если кажется, что ваши часы спешат или отстают, то используйте NTP для гарантированной синхронизации с очень высокой точностью. Необходимо установить NTP-пакет и потом произвести синхронизацию с сервером:
Список подходящих NTP-серверов можно найти на http://support.ntp.org/bin/view/Servers/NTPPoolServers. Добавьте эту команду в автозагрузку — и ваши часы всегда будут точными.
9. Поиск самых больших файлов
Сложность: низкая
Приложение: оболочка
Можно столкнуться с проблемой, когда надо удалить несколько больших файлов. Их можно найти в текущей директории с помощью команды:
10. Горячие клавиши Nautilus’а
Сложность: низкая
Приложение: Nautilus
Хотя в наши дни большинство файловых менеджеров должны поддерживать управление мышью, иногда полезно использовать клавиатуру. У Nautilus’а есть несколько сочетаний, которые позволяют мгновенно перемещаться между файлами:
— Открыть директорию — Ctrl+L
— Подняться на уровень выше — Ctrl+Up
— Перемещение внутри директории — стрелки
11. Оптимизация баз данных
Сложность: низкая
Приложение: MySQL
При любом изменении структуры базы данных или удалении больших объемов данных, файлы могут стать фрагментированными, что приводит к потере производительности. Просто запомните простое правило: запускать оптимизатор базы при любом изменении базы:
Вы можете заметить, что следует регулярно оптимизировать базы при использовании полей с типом VARCHAR: эти поля с переменной длиной особенно подвержены фрагментации.
12. Быстрые письма
Сложность: низкая
Приложение: KMail
Не можете позволить себе потерять 3 секунды на поиски вашего почтового клиента? Не устали от поиска указателя мыши среди всей красивой суматохи на вашем рабочем столе? Чтобы вы не делали в KDE, вас отделяет всего несколько нажатий клавиш от отправки письма. Нажмите Alt+F2 для открытия диалога ‘Run command’. Наберите:
Нажмите Enter — и KMail автоматически откроется. Вам даже необязательно набирать полный почтовый адрес. Этот трюк работает также и с Интернет-адресами: просто наберите www.hab.ru для запуска Konqueror’а.
13. Распараллеливание сборки
Сложность: низкая
Приложение: GCC
Если у вас многоядерная система с приличным количеством оперативной памяти, то можно значительно увеличить скорость при помощи параллельной сборки. Если сравнивать с последовательной сборкой, то прирост скорости в несколько раз. Для того, чтобы использовать два и более потока, добавьте ключ -j:
make -j4; make -j4 modules
14. Увеличение время работы батареи
Сложность: средняя
Приложение: hdparm
Вы вероятно сталкивались с hdparm для тюнинга жесткого диска, но это также может увелитчить время работы батареи вашего ноутбука и снизить шум вращающихся деталей.
hdparm -y /dev/hdb
hdparm -Y /dev/hdb
hdparm -S 36 /dev/hdb
Первая команда заставляет перейти в режим ожидания, вторая — в спящий режим, а последняя выставляет время автоматического выключения. Числовой параметр кратен 5.
15. Управление скоростью беспроводного подключения
Сложность: средняя
Приложение: iwconfig
Скорость, на которой радио-приемник и передатчик могут взаимодействовать, зависит от силы сигнала. Для того, чтобы поддерживать связь при ухудшении сигнала, данные должны передаваться с меньшей скоростью. Обычно, радио пытается вычислить доступный сигнал и автоматически выбирает наибольшую скорость передачи.
В областях интерференции с недостаточным уровнем сигнала, пакеты могут самопроизвольно пропадать, при этом приемник и передатчик постоянно регулируют скорость. Если нельзя добавить антенны или переместить ваше оборудование для усиления сигнала, то надо уменьшить скорость синхронизации. Это означает меньшее количество переподключений и может быть значительно быстрей, чем триггерное (flip-flop) соединение. У каждой сетевой карты свой способ установки соединения. В Линуксе ограничение скорости можно задать через iwconfig:
iwconfig eth0 rate 2M
iwconfig eth0 rate 5.5M auto
iwconfig eth0 rate auto
Сетевые карты могут работать на больших расстояниях при скорости 1Mbps, чем при скорости 11Mbps. Разница между 1Mbps и 11Mbps — 12 децибел для карт Orinocco, т.е., теоретически, можно увеличить максимальную дистанцию работы в 4 раза, уменьшив скорость передачи.
16. Список откртых портов
Сложность: средняя
Приложение: nestat
Получить список открытых портов в состоянии Listen очень просто в Линуксе:
# netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5280 0.0.0.0:* LISTEN 698/perl
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 217/httpd
tcp 0 0 10.42.3.2:53 0.0.0.0:* LISTEN 220/named
tcp 0 0 10.42.4.6:53 0.0.0.0:* LISTEN 220/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 220/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 200/sshd
udp 0 0 0.0.0.0:32768 0.0.0.0:* 220/named
udp 0 0 10.42.3.2:53 0.0.0.0:* 220/named
udp 0 0 10.42.4.6:53 0.0.0.0:* 220/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 220/named
udp 0 0 0.0.0.0:67 0.0.0.0:* 222/dhcpd
raw 0 0 0.0.0.0:1 0.0.0.0:* 7 222/dhcpd
В этом примере видно, что процесс с PID’ом 698 — процесс интерпретатора Перл, который слушает порт 5280. Если вы не рут в системе, то система не покажет пути к программам.
17. Увеличение скорости работы жестких дисков
Сложность: высокая
Приложение: hdparm
hdarm можно использовать для повышения производительности. Будьте осторожны: изменение этих настроек может привести к потере данных, поэтому предварительно сделайте резервную копию данных. Тестирование скорости можно произвести следующей команды:
hdparm -Tt /dev/sda
/dev/sda:
Timing cached reads: 1784 MB in 2.00 seconds = 892.56 MB/sec
Timing buffered disk reads: 82 MB in 3.04 seconds = 26.96 MB/sec
/dev/sda:
IO_support = 0 (default)
readonly = 0 (off)
readahead = 256 (on)
geometry = 4865/255/63, sectors = 78165360, start = 0
В большинстве дистрибутивов выбраны безопасные настройки, подходящие для большинства жестких дисков. Для того, чтобы увеличить скорость, можно включить DMA-режим. Большинство компьютеров поддерживают 3 режим — 32-битная передача данных, что увеличивает скорость почти в два раза:
18. Удаленный доступ к вашим программ.
Сложность: низкая
Приложение: X
Если необходим удаленный доступ к графическим приложениям, то это можно сделать с помощью SSH. Во-первых, надо включить эту опцию в /etc/ssh/sshd_config:
19. Более удобные маны
Сложность: низкая
Приложение: man
Если вы ищите информацию по определенной команде или тематике, то маны — хорошее место для начала поисков. Обычный доступ к манам — man , но можно искать нужные страницы по ключевому слову. Например, поиск манов, связанные с процессом входа в систему:
При чтении манов полезно использовать поиск: просто нажмите клавишу / и набирайте нужное слово.
20. Диаграмма взаимосвязи пакетов
Сложность: низкая
Приложение: Debian
Наиболее важная часть Debian’а — возможность устанавливать пакеты вместе со всеми зависимостями. Если вы хотите увидеть все взаимосвязи между пакетами, можно использовать пакет Graphiz из несвободного (non-free) репозитория Debian:
apt-cache dotty > debain.dot
21. Принудительное отключение занятых устройств
Сложность: низкая
Приложение: bash
Вам наверняка сталкивались с ситуацией, когда надо отмаунтить диск, но система при попытке отключения сообщает о том, что он занят. Одной командой можно узнать, какое приложение использует его:
Она показывает PID и команду запуска любого процесса, использующего /mnt/windows.
22. Конвертирование кодировок текстовых файлов
Сложность: низкая
Приложение: recode
recode — маленькая утилита, которая упростит перенос текстовых файлов, созданных на разных платформах. Одна из главных причин — различие переносов строк. В некоторых системах используется символ переноса строки, в других — символ возврата каретки, в остальных — оба способа. В итоге, если вы переносете текст с одной платформы на другую, то вы, открыв файл, увидете множество (или, наоборот, мало) переносов строк и много странных символов.
Параметры утилиты немного запутаны, но это можно обойти задав алиасы:
alias dos2unix=’recode dos/CR-LF..l1′
alias unix2win=’recode l1..windows-1250′
alias unix2dos=’recode l1..dos/CR-LF’
Существуют множество опций: recode может конвертировать тексты между рядом кодировок.
23. Поиск измененных сегодня файлов
Сложность: низкая
Приложение: различные
Например, утром вы создали файл, который именно сейчас очень нужен. Однако, вы не можете вспомнить его название. Вручную перебирать домашнюю директорию бессмысленно, где скопилась не одна тысяча файлов. Но есть небольшой прием, показывающий эффективность пайпов и объединения нескольких комманд консоли:
Параметры команды ls требуют вывода даты в определенном формате. Хитрость в том: то, что выдаст ls, идет на вход grep. Параметр grep сами по себе команда (заключена в обратные апострофы), которая подставляет текущую дату в шаблон для отсева. Ее легко модифицировать для поиска по другим датам, размеру файла и т.д.
Источник