Displaying items by tag: ubuntu - UniXoiD
дробовики.
заявка на кредит Тинькофф

Встала задача настроить прозрачный прокси SQUID + разобраться с перенаправлением трафика на mikrotik.

 Я собирал из исходников v4.9 вот с такими опциями: ./configure --enable-ssl --enable-ssl-crtd --with-openssl --disable-arch-native --prefix=/usr --localstatedir=/var --sysconfdir=/etc/squid --libexecdir=/usr/lib/squid --datadir=/usr/share/squid --with-default-user=proxy --with-logdir=/var/log/squid --with-pidfile=/var/run/squid.pid

Вот конфиг SQUIDA:

acl localnet src 192.168.26.0/25
acl localnet src 192.168.41.0/25
acl localnet src 192.168.88.0/25
acl localnet src 192.168.77.0/25
acl localnet src 192.168.33.0/24

# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost

# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/cache/squid 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/cache/squid

#
# Add any of your own refresh_pattern entries above these.
#
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

cache deny all
http_reply_access allow all

acl white_dst dstdom_regex "/etc/squid/lists/white_dst"
acl white_name ssl::server_name "/etc/squid/lists/white_name"
acl white_dns dstdomain "/etc/squid/lists/white_name"
acl white_url url_regex "/etc/squid/lists/white_url"

acl white any-of white_dst white_name white_dns white_url

acl foreignProtocol squid_error ERR_PROTOCOL_UNKNOWN ERR_TOO_BIG
acl unsup_http_ver squid_error ERR_UNSUP_HTTPVERSION

on_unsupported_protocol tunnel foreignProtocol
on_unsupported_protocol tunnel unsup_http_ver

http_port 3128
http_port 3129 intercept
https_port 3130 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=16MB cert=/etc/squid/ssl/squid.pem key=/etc/squid/ssl/squid.key
sslproxy_cert_error allow all
always_direct allow all

acl step1 at_step SslBump1
acl step2 at_step SslBump2
acl step3 at_step SslBump3

ssl_bump peek step1 all
ssl_bump splice white
ssl_bump stare step2 all !white
ssl_bump bump step3 all !white

sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/ssl_db -M 16MB
visible_hostname server2

Вот настройки MikroTik (в таблице mangle):

 mikrot squid 1

mikrot squid 2

mikrot squid 3

И на последок правила iptables для редиректа с портов 80, 443 на порты squid:

iptables -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3129
iptables -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3130

11 примеров использования netstat

Команда netstat, входящая в стандартный набор сетевых инструментов UNIX, отображает различную network–related информацию, такую как сетевые подключения, статистику интерфейсов, таблицы маршрутизации, masquerade, multicast, и т.п.

В этой статье рассмотрим десять практических примеров использования команды netstat в Linux.

1. Список всех портов (как прослушиваемых, так и нет)

Перечислить все порты: netstat -a

# netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:domain        *:*                     LISTEN
udp6       0      0 fe80::20c:29ff:fe68:ntp [::]:*

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     20492    /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     23323    /var/run/php5-fpm.sock

Перечислить все TCP порты: netstat -at

# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:domain        *:*                     LISTEN
tcp        0      0 *:ssh                   *:*                     LISTEN
tcp        0      0 localhost:ipp           *:*                     LISTEN
tcp        0      0 *:http                  *:*                     LISTEN

Перечислить все UDP порты: netstat -au

# netstat -au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 localhost:domain        *:*
udp        0      0 *:bootpc                *:*
udp6       0      0 fe80::20c:29ff:fe68:ntp [::]:*

2. Список сокетов, находящихся в состоянии LISTEN

Перечислить все прослушиваемые порты: netstat -l

# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:domain        *:*                     LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
udp        0      0 192.168.128.134:ntp     *:*

Перечислить прослушиваемые TCP порты: netstat -lt

# netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:domain        *:*                     LISTEN
tcp        0      0 localhost:ipp           *:*                     LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN

Перечислить прослушиваемые UDP порты: netstat -lu

# netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 *:bootpc                *:*
udp6       0      0 [::]:ntp                [::]:*

Перечислить прослушиваемые UNIX сокеты: netstat -lx

# netstat -lx
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     3141     /var/run/fail2ban/fail2ban.sock
unix  2      [ ACC ]     STREAM     LISTENING     20492    /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     23323    /var/run/php5-fpm.sock

3. Просмотр статистики для каждого протокола

Показать статистику всех портов: netstat -s

# netstat -s
Ip:
    11150 total packets received
    1 with invalid addresses
    0 forwarded
    0 incoming packets discarded
    11149 incoming packets delivered
    11635 requests sent out
Icmp:
    13791 ICMP messages received
    12 input ICMP message failed.
Tcp:
    15020 active connections openings
    97955 passive connection openings
    135 failed connection attempts
Udp:
    2841 packets received
    180 packets to unknown port received.
.....

Показать статистику только TCP портов: netstat -st

# netstat -st

Показать статистику только UDP портов: netstat -su

# netstat -su

4. Отображение PID и имени процесса в выводе netstat

Опция netstat -p добавит «PID/Program Name» в вывод netstat, и может быть совмещена с любым другим набором опций. Это очень полезно при отладке, для определения того, какая программа работает на определённом порту.

# netstat -pt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 org-ru-putty.vm.udf:www 52-106.plus.kerch:55723 ESTABLISHED 9486/nginx: worker
tcp        0      0 org-ru-putty.vm.udf:www 52-106.plus.kerch:55757 ESTABLISHED 9486/nginx: worker

5. Разрешение имён в выводе netstat

Когда вам не нужно резолвить имя хоста, имя порта, имя пользователя, используйте опцию netstat -n для вывода значений в цифровом формате. Команда покажет IP-адрес вместо хоста, номер порта вместо имени порта, UID вместо имени пользователя.

Это также ускорит вывод, так как netstat не станет выполнять ненужный поиск.

# netstat -an

Для вывода цифровых значений только некоторых из этих пунктов, используйте следующие команды:

# netsat -a --numeric-ports

# netsat -a --numeric-hosts

# netsat -a --numeric-users

6. Вывод информации netstat непрерывно

Опция netstat -c будет выводить информацию непрерывно, в стиле top, обновляя экран каждые несколько секунд.

# netstat -c
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 org-ru-putty.vm.udf:www 182.131.74.202:59933    FIN_WAIT2
tcp        0      0 org-ru-putty.vm.udf:www 182.131.74.202:63761    FIN_WAIT2
tcp        0      0 org-ru-putty.vm.udf:www 92-181-66-102-irk.:4585 ESTABLISHED
^C

7. Неподдерживаемые системой семейства адресов

Опция netstat --verbose покажет подробный вывод, а в самом конце отобразит неподдерживаемые Address Family.

    netstat: no support for `AF IPX' on this system.
    netstat: no support for `AF AX25' on this system.
    netstat: no support for `AF X25' on this system.
    netstat: no support for `AF NETROM' on this system.

8. Маршрутизация ядра

Показать таблицу маршрутизации ядра: netstat -r

# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         192.168.128.2   0.0.0.0         UG        0 0          0 eth0
192.168.128.0   *               255.255.255.0   U         0 0          0 eth0

Примечание: Используйте netstat -rn для просмотра маршрута в цифровом формате без разрешения имён узлов.

9. Соответствие портов и процессов

Узнать, какой порт занимает определённая программа:

# netstat -ap | grep ssh
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 *:ssh                   *:*                     LISTEN      -
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      -

Выяснить, каким процессом используется определённый порт:

# netstat -an | grep ':80'

10. Сетевые интерфейсы

Показать список сетевых интерфейсов: netstat -i

# netstat -i
Kernel Interface table
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500 0   1911037      0      0 0       1382056      0      0      0 BMRU
lo        16436 0         0      0      0 0             0      0      0      0 LRU

Показать расширенную информацию об интерфейсах (аналогично ifconfig): netstat -ie

# netstat -ie
Kernel Interface table
eth0      Link encap:Ethernet  HWaddr 00:0c:29:68:4c:a4
          inet addr:192.168.128.134  Bcast:192.168.128.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe68:4ca4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24278 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11275 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:33203025 (33.2 MB)  TX bytes:665822 (665.8 KB)
          Interrupt:19 Base address:0x2000

11. netstat -lnptux

Резюмируем вышеописанное и объединим ключи в одну полезную команду, которая покажет:

  • -l все открытые порты (LISTEN)
  • -t по протоколу TCP
  • -u по протоколу UDP
  • -x по протоколу UNIX Socket
  • -n без резолва IP/имён
  • -p но с названиями процессов и PID-ами

Примечание: Не все процессы могут быть идентифицированы последним ключом, чужие процессы показаны не будут. Вы должны иметь права root чтобы увидеть всё.

# netstat -lnptux
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:80              0.0.0.0:*               LISTEN      9614/nginx
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      601/sshd
udp        0      0 8.8.4.4:123             0.0.0.0:*                           574/ntpd
udp        0      0 127.0.0.1:123           0.0.0.0:*                           574/ntpd
udp        0      0 0.0.0.0:123             0.0.0.0:*                           574/ntpd
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     4233     826/python          /var/run/fail2ban/fail2ban.sock
unix  2      [ ACC ]     STREAM     LISTENING     8122     2561/mysqld         /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     160413   7301/php-fpm.conf   /var/run/php5-fpm.sock
Четверг, 07 мая 2020 00:00

Установка Linux на SSD

Установка Linux на SSD

Диски, использующие электронные ячейки памяти (SSD — Solid State Drive), мало весят, работают бесшумно и потребляют втрое меньше энергии, чем жёсткие диски (HDD). Однако главная причина их популярности – фантастическая скорость работы. Операционная система загружается быстро, операции с файлами большого размера выполняются значительно быстрее.

 

Недостаток твердотельных накопителей – износ ячеек. Память деградирует в процессе перезаписи данных. В среднем через 0,5-3 года диск может выйти из строя. Для того, чтобы продлить жизнь накопителя, использование Linux на SSD должно подчиняться определённым правилам. Каким – рассмотрим в этом материале.

Особенности работы SSD

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

Принцип работы SSD основан на использовании электронных ячеек памяти. Единицу информации хранит заряд внутри транзистора, обращение к ячейкам выполняет контроллер. Задержки при чтении или записи минимальны.

Однако с каждой новой перезаписью ячейка разрушается и перестаёт удерживать заряд. Контроллер постоянно проверяет ячейки и переписывает информацию в исправные блоки. Когда свободное место заканчивается, накопитель приходится заменять.

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

В Интернете есть сотни советов, выдаваемых поисковиками по запросу "Установка Linux на SSD", однако мы советуем воспринимать написанное с осторожностью. Остановимся на моментах, способствующих улучшению состояния SSD-хранилища без риска потери данных.

Как установить Linux на SSD?

Внешне установка операционной системы Linux на твердотельный накопитель выглядит так же, как и на магнитный диск. Могут отличаться лишь настройки файловой системы, раздела подкачки и параметры монтирования разделов.

1. Выбор файловой системы

На данном этапе для Unix разработаны специальные файловые системы, учитывающие особенности работы SSD-дисков:

  • Extended4 (ext4) – самая популярная и стабильная файловая система в этой среде, поддерживающая отключаемое журналирование, а также функцию TRIM.
  • BtrFS – файловая система, разработанная инженерами Oracle, поддерживает зеркальные копии структур данных и контрольные суммы, что позволяет легко восстанавливать файлы при повреждении. Журналы не ведутся, поэтому дополнительной нагрузки на диск не возникает.
  • XFS – файловая система, разработанная Silicon Graphics для работы с большими файлами, журналы ведутся только для регистрации изменений структур данных.
  • Flash-Friendly File System (F2FS) – разработка Samsung специально для флешек и SSD. Учитывает особенности износа памяти, собирает данные в пакет, который затем записывает в свободные области за один цикл.

Как видим, выбор богат, поле для экспериментов широкое. Однако если вы спросите, какая файловая система на SSD для Linux будет наилучшей, мы посоветуем остановиться на проверенной годами ext4. Прочие системы продолжают дорабатываться, в них могут быть критические ошибки.

2. Настройка файла подкачки

Оперативной памяти много не бывает. Если у вас её меньше, чем 4 Гб, рекомендуем докупить и установить дополнительные планки. В этом случае файл подкачки будет меньше задействован операционной системой. Отсюда следует резонный вопрос: нужен ли swap для Linux на SSD?

При установке системы мы всё же рекомендуем создать файл подкачки. В тех случаях, когда памяти недостаточно, Linux начинает выгружаться на диск, но не падает. У вас будет шанс обнаружить и выгрузить слишком ресурсоёмкую программу.

Специфика выгрузки сегментов памяти в Linux в файл подкачки регулируется параметром swappiness. По умолчанию его значение равно 60. Чем меньше эта величина, тем сильнее должна быть перегружена система перед началом выгрузки памяти на диск.

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

cat /proc/sys/vm/swappiness

Ustanovka Linux na SSD 1

В нашем случае установлено значение по умолчанию. Для того, чтобы его изменить, необходимо отредактировать файл /etc/sysctl.conf. Откройте файл в редакторе с помощью команды:

sudo nano /etc/sysctl.conf

Перейдите в конец файла, нажав на клавиатуре сочетание Alt-/, и добавьте строку:

vm.swappiness=5

Ustanovka Linux na SSD 2

 

Закройте редактор, сохранив изменения в отредактированном файле. Новые настройки вступят в силу после перезагрузки операционной системы.

3. Настройка монтирования в fstab

После того, как установка Linux на SSD завершена, рекомендуется изменить настройки монтирования. Особенностью Unix-систем является наличие специального атрибута у файлов — времени последнего доступа (access time stamp). Этот атрибут перезаписывается каждый раз при обращении какого-либо процесса к файлу. Необходимость атрибута сомнительна, а нагрузка на SSD существенна.

Обновление атрибута времени последнего доступа отключается, если добавить в строку монтирования дисков опцию noatime. Для изменения настроек необходимо отредактировать файл /etc/fstab. Это системный файл, поэтому для его редактирования нужны права суперпользователя:

sudo nano /etc/fstab

С помощью стрелок установите курсор в позицию после обозначения типа файловой системы (ext4) и после пробела впишите ключевое слово noatime. После него поставьте запятую. Обратите внимание, что пробела между запятой и следующим словом быть не должно.

Ustanovka Linux na SSD 4

Изменённые строки должны выглядеть так:

UUID=xxxxxxx / ext4 noatime,errors=remount-ro 0 1

UUID=xxxxxxx /storage ext4 noatime,defaults 0 1

4. Настройка TRIM

Настройка SSD в Linux близится к завершению. Остаётся рассмотреть метод TRIM. Так как ячейки памяти изнашиваются, встроенный контроллер каждый раз записывает данные в новые блоки. Когда свободное место подходит к концу, диск начинает притормаживать.

Файлы в операционной системе исправляются, затираются, удаляются. Задача команды TRIM (Data Set Management) – сообщить контроллеру SSD, что те или иные блоки данных уже пусты и в них можно опять записывать информацию.

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

Чтобы проверить включён ли TRIM, выполните команду:

fstrim -av ; echo $

Добавьте в файл /etc/cron.weekly/fstrim.timer следующие строки:

[Timer]
OnCalendar=daily

Закройте редактор, сохранив изменения в отредактированном файле. Для применения настроек перегрузите компьютер или выполните команду:

sudo systemctl daemon-reload

Убедитесь в том, что изменения настроек применены, выполнив команду:

systemctl cat fstrim.timer

Всё в порядке, команда TRIM теперь будет выполняться ежедневно.

Выводы

Твердотельный накопитель работает в 100 раз быстрее, чем магнитный диск, однако также имеется и своя специфика использования. Последние версии Windows или Ubuntu учитывают особенности SSD, поэтому могут быть рекомендованы к использованию с этими устройствами. Для того, чтобы установить Linux на SSD, не нужны какие-то особые знания. Мастер установки подскажет, какие шаги надо выполнить.

Скорость SSD в Linux можно измерить с помощью команды:

systemd-analyze

Ustanovka Linux na SSD 8

 

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

Понедельник, 04 июня 2018 00:00

Установка Linux рядом с Windows 10

Допустим, вы прочитали в интернете несколько статей и заинтересовались свободной операционной системой Linux. Возможно, даже поставили ее себе на виртуальную машину или загрузились в Live-режиме и попробовали, как все выглядит и работает. Вам понравилось, и теперь вы хотите установить ее себе на компьютер и начать пользоваться. Но при этом терять уже установленную Windows не желаете, чтобы в случае непредвиденной ситуации можно было вернуться в полностью рабочую систему, да и любимые игры и нужные программы всегда будут под рукой. Есть возможность установить Linux и Windows 10 на одном компьютере. В свое время для меня, как и для многих других пользователей, это было идеальным вариантом.

 

В этой инструкции мы рассмотрим, как установить Linux рядом с Windows 10. Я говорю Windows 10 потому, что это самая новая операционная система от Microsoft, но эти инструкции также подойдут для более ранних версий, таких как Windwos 7, 8 и 8.1.

Я предполагаю, что у вас уже есть установленная Windows, вы нашли и определились, от какого диска отделить немного места для Linux, только не знаете, как правильно это сделать. Здесь вы получите подробный ответ на этот вопрос. Затронем еще одну важную тему — UEFI. Эта технология используется на всех новых ноутбуках с Windows, и многих пользователей интересует, как установить Linux на UEFI и какие при этом могут возникнуть проблемы.

Немного теории

Для установки операционной системы Linux рядом с Windows 10 вам понадобится создать несколько дополнительных разделов диска. Минимальное количество — три раздела. Linux не принято устанавливать на один раздел как Windows, хотя такой вариант возможен. Linux настолько гибок, что позволяет разместить систему, файлы пользователя и настройки на разных разделах. Это очень выгодно во время переустановки. Вы переустанавливаете систему в системном разделе, а все ваши файлы на рабочем столе и настройки рабочего окружения останутся на месте.

Вот эти три раздела:

  • Системный;
  • Домашний;
  • Раздел подкачки.

Минимальные требования объема под системный раздел в различных дистрибутивах варьируются от семи до двадцати Гигабайт. Но этого хватит для установки самой системы и нескольких дополнительных программ. Если же вы собираетесь использовать много программ и игр, особенно если они занимают много места, необходимо взять еще пару десятков Гигабайт про запас. Я рекомендую использовать под системный раздел Linux так же, как и для диска C Windows, 30-40 Гигабайт.

Раздел подкачки используется, когда системе не хватает оперативной памяти. При определенном проценте заполнения Linux понемногу начинает скидывать неиспользуемые данные в этот файл. Поэтому для данного раздела подойдет объем в два раза меньше, чем размер вашей ОЗУ. Но если вы планируете использовать спящий режим или гибернацию, то под раздел подкачки нужно выделить объем дискового пространства, равный размеру ОЗУ, потому что в этих режимах все содержимое оперативной памяти компьютера переносится на диск. Домашний раздел — это раздел с вашими файлами, фильмами, музыкой, загрузками. Прикиньте, сколько вам нужно.

Подготовка диска в Windows

Чтобы установить Linux рядом с уже использующейся Windows 10, нужно будет «отрезать» пространство от системного диска. Поэтому перед решительными действиями важно создать резервную копию системы или хотя бы важных файлов. Если все пройдет хорошо, ничего страшного не случится ни с файлами, ни с системой, но из-за какого-либо сбоя, например, отключения электричества, файловая система может быть повреждена. Вы и сами по невнимательности можете сделать что-то не так и удалить не то, что нужно.

install_linux1

Поэтому, если будете работать с системным диском, скопируйте важные файлы на внешний носитель, и, если есть возможность, создайте резервную копию операционной системы с помощью соответствующего пункта панели управления:

install_linux2

При работе с не системным разделом, например, D, E, F и т д, достаточно просто скопировать файлы оттуда.

Теперь переходим непосредственно к подготовке диска для установки Windows 10 и Linux. Проще всего это сделать с помощью стандартной утилиты управления дисками в Windows. Кликните правой кнопкой по значку «Этот компьютер» на рабочем столе и откройте пункт «Управление«:

install_linux3

Дальше нам нужна утилита Управление дисками:

install_linux4

Здесь внизу окна мы видим два диска: C (системный) и D (обычный). Я приведу пример, как изменить размер диска D. Для диска C все действия аналогичны.

Кликните по нужному диску правой кнопкой и выберите опцию Сжать том:

install_linux5

Откроется вот такое окно, в котором нужно ввести размер создаваемого тома в поле размер сжимаемого пространства:

install_linux6

Обратите внимание, вы не можете указать размер больше, чем количество свободного места на диске. Поэтому сначала освободите место, если еще этого не сделали. Кликаем на кнопку сжать. После этого появится неразмеченное пространство, из которого можно создать нужные разделы:

install_linux7

Вот и все. Теперь у вас есть место для установки Linux рядом с Windows 10. Выполнять дальнейшую разметку диска в утилите Windows не вижу смысла, поскольку все опасные операции, которые могли повредить систему, мы уже сделали, а разделы для Linux лучше всего и настраивать средствами Linux.

Подготовка диска в Linux

Это не следующий пункт установки Linux вместе с Windows 10. Это альтернативный вариант разметки диска без использования Windows. Если вы по каким-либо причинам не хотите использовать стандартную утилиту Windows для выделения нужного пространства, это также можно сделать с помощью любого LiveCD дистрибутива Linux с предустановленной программой для управления дисками Gparted. Например, того же Ubuntu.

 

install_linux8

Загрузитесь с диска Ubuntu, в поиске Dash наберите Gparted:

install_linux10

Откроется вот такое окно программы для управления дисками в Linux:

install_linux20

Здесь важно заметить, что разделы диска в Linux называются иначе чем в Windows. Здесь диски — это просто адреса файлов в виртуальной файловой системе dev. Позже вы поймете, что это такое, а сейчас важно только, что имя каждого раздела начинается с /dev/sd. Дальше идет буква, означающая физический диск (sda, sdb, sdc, sdd и так далее). За ней цифра, что обозначает номер раздела на диске, например: sda1, sda2.

В окне утилиты, кроме имени раздела диска, мы можем видеть файловую систему, размер и свободное место на диске. Теперь по размеру и файловой системе мы можем понять на каком диске у нас расположена система.

В моем примере /dev/sdb1 — это диск С в Windows, а /dev/sdb2 — D. Мы будем делать то же, что и в предыдущем примере. Давайте уменьшим размер раздела /dev/sdb2 (D) до 10 Гигабайт чтобы на освободившимся пространстве выполнить установку Linux на Windows 10. Для этого кликните по разделу правой кнопкой и выберите пункт Resize/Move:

install_linux11

В открывшемся окне можно ввести нужный размер вручную в поле New size или воспользоваться ползунком:

install_linux12

Затем нажмите кнопку Resize/Move.

install_linux15

Как видите, появилось свободное пространство, но реальных изменений на диске еще нет. Для того чтобы записать все на диск, нажмите зеленую галочку, или в меню Edit выберите пункт Apply All Operations:

install_linux25

Процесс изменения размера файловой системы может занять немного времени:

install_linux14

Теперь вы можете видеть, что раздел /dev/sdb2 уменьшился, и появилось свободное место:

install_linux15

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

install_linux16

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

Создавать разделы для Linux здесь мы тоже не будем, лучше все это сделать во время установки, специально предназначенной для этого утилитой.

Установка Linux рядом с Windows 10

Я не буду здесь подробно рассматривать, как установить Linux, все это уже подробно рассмотрено в моих статьях отдельно для разных дистрибутивов. Рассмотрим только несколько аспектов разметки диска. Возьмем Ubuntu, как самую популярную ОС для новичков, но в других дистрибутивах все почти так же.

На этапе выбора способа разметки я советую брать ручной вариант. Поскольку так вы лучше разберетесь, как устанавливать систему:

install_linux17

Здесь вы из освобожденного ранее места создаете те разделы, о которых мы говорили в самом начале статьи. Для корневого раздела точку монтирования нужно выбрать /, для домашнего — /home, а для раздела подкачки точка монтирования не указывается.

Дальше действуем все как обычно — по инструкции для определенного дистрибутива, и установка Linux рядом с Windows 10 будет выполнена успешно.

Установка Linux рядом с Windows 10 UEFI

На всех современных ноутбуках, выпускаемых с Windows 8, 8.1, 10 используется технология UEFI. Это новая прогрессивная технология, которая пришла на смену устаревшей BIOS. Первое важное и самое заметное изменение — использование таблицы разделов GPT, вместо устаревшей MBR, а также создание отдельного раздела диска для загрузчиков операционных систем. Многие пользователи боятся, что UEFI усложнит установку Linux с Windows 10 на их ноутбук. И зря — в большинстве случаев нет ничего сложного. Если у вас уже установлена Windows, то, скорее всего, раздел efi уже был создан, и во время разметки диска нужно просто выбрать его для установки загрузчика.  Раздел efi, как правило, создается с файловой системой fat32 и занимает около 30 Мегабайт памяти:

install_linux22

Если же у вас чистый винчестер, нужно создать таблицу разделов GPT. Это можно сделать с помощью той же Gparted, открыв меню Devices -> Create Partition Table:

install_linux18

Дальше необходимо создать efi раздел, делаем тоже с помощью Gparted, создаем обычный раздел, с файловой системой fat32 и меткой EFI:

install_linux19

Потом указываем этот раздел во время установки Linux вместе с windows 10, для него нужно указать точку монтирования /boot/EFI. Вот и все сложности с установкой в UEFI. Вообще, установку в UEFI поддерживают все дистрибутивы, работающие в Grub2.

Завершение установки

Многих новых пользователей интересует: «Как же загрузить потом мою Windows?» Не беспокойтесь, загрузчик Grub автоматически найдет загрузчик Windows и перед запуском компьютера предложит вам меню, где вы сможете выбрать операционную систему:

Install-Ubuntu-15.04-Alongside-Windows-First-Time-Ubuntu-Booting

Таким образом, двойная загрузка Windows 10 и Linux будет настроена автоматически.

Если что-то пойдет не по плану, хотя такое вряд ли случиться, все очень легко настроить. Так что, если все сделано правильно, вы обязательно получите доступ к своей Windows после установки Linux.

Выводы

Сегодня мы рассмотрели, как установить Linux на Windows 10. Разобрались, как выполнить разметку, как выбрать разделы и что делать, если на вашем ноутбуке используется UEFI. Об установке какого-либо определенного дистрибутива Linux вместе Windows 10, говорить бессмысленно, так как, во-первых, все действия похожи, и, во-вторых, вы можете найти подробные инструкции в соответствующих статьях. Еще хотелось бы заметить: для комфортной работы Windows 10 с Linux на одном компьютере нужно отключить Windows FastBoot, иначе вы не сможете подключить системный раздел Windows в Linux. Если остались вопросы, спрашивайте в комментариях!

Воскресенье, 03 июня 2018 00:00

Поиск текста в файлах Linux

Иногда может понадобится найти файл, в котором содержится определённая строка или найти строку в файле, где есть нужное слово. В Linux всё это делается с помощью одной очень простой, но в то же время мощной утилиты grep. С её помощью можно искать не только строки в файлах, но и фильтровать вывод команд, и много чего ещё.

 

В этой инструкции мы рассмотрим, как выполняется поиск текста в файлах Linux, подробно разберём возможные опции grep, а также приведём несколько примеров работы с этой утилитой.

Что такое grep?

Команда grep (расшифровывается как global regular expression print) — одна из самых востребованных команд в терминале Linux, которая входит в состав проекта GNU. Секрет популярности — её мощь, она даёт возможность пользователям сортировать и фильтровать текст на основе сложных правил.

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

Синтаксис grep

Синтаксис команды выглядит следующим образом:

$ grep [опции] шаблон [имя файла…]

Или:

$ команда | grep [опции] шаблон

  • Опции — это дополнительные параметры, с помощью которых указываются различные настройки поиска и вывода, например количество строк или режим инверсии.
  • Шаблон — это любая строка или регулярное выражение, по которому будет вестись поиск
  • Файл и команда — это то место, где будет вестись поиск. Как вы увидите дальше, grep позволяет искать в нескольких файлах и даже в каталоге, используя рекурсивный режим.

Возможность фильтровать стандартный вывод пригодится,например, когда нужно выбрать только ошибки из логов или найти PID процесса в многочисленном отчёте утилиты ps.

Опции

Давайте рассмотрим самые основные опции утилиты, которые помогут более эффективно выполнять поиск текста в файлах grep:

  • -b — показывать номер блока перед строкой;
  • -c — подсчитать количество вхождений шаблона;
  • -h — не выводить имя файла в результатах поиска внутри файлов Linux;
  • -i — не учитывать регистр;
  • — l — отобразить только имена файлов, в которых найден шаблон;
  • -n — показывать номер строки в файле;
  • -s — не показывать сообщения об ошибках;
  • -v — инвертировать поиск, выдавать все строки кроме тех, что содержат шаблон;
  • -w — искать шаблон как слово, окружённое пробелами;
  • -e — использовать регулярные выражения при поиске;
  • -An — показать вхождение и n строк до него;
  • -Bn — показать вхождение и n строк после него;
  • -Cn — показать n строк до и после вхождения;

Все самые основные опции рассмотрели и даже больше, теперь перейдём к примерам работы команды grep Linux.

Примеры использования

С теорией покончено, теперь перейдём к практике. Рассмотрим несколько основных примеров поиска внутри файлов Linux с помощью grep, которые могут вам понадобиться в повседневной жизни.

Поиск текста в файлах

В первом примере мы будем искать пользователя User в файле паролей Linux. Чтобы выполнить поиск текста grep в файле /etc/passwd введите следующую команду:

grep User /etc/passwd

В результате вы получите что-то вроде этого, если, конечно, существует такой пользователь:

User:x:1000:1000:User,,,:/home/User:/bin/bash

А теперь не будем учитывать регистр во время поиска. Тогда комбинации ABC, abc и Abc с точки зрения программы будут одинаковы:

grep -i "user" /etc/passwd

Вывести несколько строк

Например, мы хотим выбрать все ошибки из лог-файла, но знаем, что в следующей строчке после ошибки может содержаться полезная информация, тогда с помощью grep отобразим несколько строк. Ошибки будем искать в Xorg.log по шаблону «EE»:

grep -A4 "EE" /var/log/xorg.0.log

Выведет строку с вхождением и 4 строчки после неё:

grep -B4 "EE" /var/log/xorg.0.log

Выведет целевую строку и 4 строчки до неё:

grep -C2 "EE" /var/log/xorg.0.log

 

Выведет по две строки с верху и снизу от вхождения.

Регулярные выражения в grep

Регулярные выражения grep — очень мощный инструмент в разы расширяющий возможности поиска текста в файлах. Для активации этого режима используйте опцию -e. Рассмотрим несколько примеров:

Поиск вхождения в начале строки с помощью спецсимвола «^», например, выведем все сообщения за ноябрь:

grep "^Nov 10" messages.1

Nov 10 01:12:55 gs123 ntpd[2241]: time reset +0.177479 s
Nov 10 01:17:17 gs123 ntpd[2241]: synchronized to LOCAL(0), stratum 10

Поиск в конце строки — спецсимвол «$»:

grep "terminating.$" messages

Jul 12 17:01:09 cloneme kernel: Kernel log daemon terminating.
Oct 28 06:29:54 cloneme kernel: Kernel log daemon terminating.

Найдём все строки, которые содержат цифры:

grep "[0-9]" /var/log/Xorg.0.log

Вообще, регулярные выражения grep — это очень обширная тема, в этой статье я лишь показал несколько примеров. Как вы увидели, поиск текста в файлах grep становиться ещё эффективнее. Но на полное объяснение этой темы нужна целая статья, поэтому пока пропустим её и пойдем дальше.

Рекурсивное использование grep

Если вам нужно провести поиск текста в нескольких файлах, размещённых в одном каталоге или подкаталогах, например в файлах конфигурации Apache — /etc/apache2/, используйте рекурсивный поиск. Для включения рекурсивного поиска в grep есть опция -r. Следующая команда займётся поиском текста в файлах Linux во всех подкаталогах /etc/apache2 на предмет вхождения строки mydomain.com:

grep -r "mydomain.com" /etc/apache2/

В выводе вы получите:

grep -r "zendsite" /etc/apache2/
/etc/apache2/vhosts.d/zendsite_vhost.conf: ServerName zendsite.localhost
/etc/apache2/vhosts.d/zendsite_vhost.conf: DocumentRoot /var/www/localhost/htdocs/zendsite
/etc/apache2/vhosts.d/zendsite_vhost.conf: <Directory /var/www/localhost/htdocs/zendsite>

Здесь перед найденной строкой указано имя файла, в котором она была найдена. Вывод имени файла легко отключить с помощью опции -h:

grep -h -r "zendsite" /etc/apache2/

ServerName zendsite.localhost
DocumentRoot /var/www/localhost/htdocs/zendsite
<Directory /var/www/localhost/htdocs/zendsite>

Поиск слов в grep

Когда вы ищете строку abc, grep будет выводить также kbabc, abc123, aafrabc32 и тому подобные комбинации. Вы можете заставить утилиту искать по содержимому файлов в Linux только те строки, которые выключают искомые слова с помощью опции -w:

grep -w "abc" имя_файла

Поиск двух слов

Можно искать по содержимому файла не одно слово, а два сразу:

egrep -w 'word1|word2' /path/to/file

Количество вхождений строки

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

grep -c 'word' /path/to/file

C помощью опции -n можно выводить номер строки, в которой найдено вхождение, например:

grep -n 'root' /etc/passwd

Получим:

1:root:x:0:0:root:/root:/bin/bash

Инвертированный поиск в grep

Команда grep Linux может быть использована для поиска строк в файле, которые не содержат указанное слово. Например, вывести только те строки, которые не содержат слово пар:

grep -v пар /path/to/file

Вывод имени файла

Вы можете указать grep выводить только имя файла, в котором было найдено заданное слово с помощью опции -l. Например, следующая команда выведет все имена файлов, при поиске по содержимому которых было обнаружено вхождение primary:

grep -l 'primary' *.c

Цветной вывод в grep

Также вы можете заставить программу выделять другим цветом вхождения в выводе:

grep --color root /etc/passwd

Получится:

1

Выводы

Вот и всё. Мы рассмотрели использование команды grep для поиска и фильтрации вывода команд в операционной системе Linux. При правильном применении эта утилита станет мощным инструментом в ваших руках. Если у вас остались вопросы, пишите в комментариях!

Воскресенье, 03 июня 2018 00:00

Установка Xubuntu 18.04 LTS

Недавнее обновление ОС Ubuntu затронуло и все сборки системы с различными средами рабочего стола. У новой версии, 18.04 LTS, длительный срок поддержки — она содержит стабильные версии пакетов и драйверов по умолчанию. Хороший вариант для домашнего использования. В этой статье мы рассмотрим установку Xubuntu 18.04.

Данная сборка использует среду рабочего стола Xfce. Её особенность — меньшее потреблении ресурсов компьютера по сравнению с оригинальной Ubuntu. В первую очередь это касается оперативной памяти и центрального процессора.

Системные требования

Xubuntu подходит для компьютеров и ноутбуков со средними и слабыми характеристиками:

  • Минимум 512 МБ ОЗУ для системы x32, рекомендовано — 1 ГБ. Для x64 следует использовать не менее 4 ГБ;
  • Используя DVD-сборку, необходимо иметь свободного дискового пространства не менее 7,5 ГБ. Для установки дополнительного ПО стоит освободить минимум 20 ГБ.

Подготовка к установке Xubuntu

Перед инсталляцией системы, необходимо всё подготовить. И начать стоит с загрузки образа ОС.

Шаг 1. Загрузка образа

Перейдите на сайт Xubuntu и загрузите торрент-файл в соответствии с разрядностью процессора и количеством оперативной памяти. Если ОЗУ имеет объём 4 ГБ и более, нажмите 64-bit systems.

Загрузить Xubuntu

Запустите скачанный файл в BitTorrent-клиенте, чтобы загрузить ОС.

Шаг 2. Запись образа на флешку

Для записи образов используется набирающая популярность программа Etcher. Она поддерживает запуск в GNU/Linux, Windows и macOS. Чтобы записать ОС, выберите записываемый образ → укажите флешку, на которую будет произведена запись → нажмите Flash!.

Etcher

Дождитесь окончания процесса и перезагрузите компьютер.

Шаг 3. Выбор устройства

Во время прохождения POST-теста необходимо нажать клавишу, отвечающую за показ окна с выбором устройства для запуска. Обычно это F11 или F12, в зависимости от модели BIOS. В списке выберите флешку с Xubuntu.

Меню загрузки устройства

Также вы можете открыть настройки BIOS через назначенную клавишу (на ПК обычно Delete) и во вкладке Boot в поле First Boot Device указать нужную флешку (например, USB-HDD).

BIOS boot

После этого нажмите F10, чтобы сохранить изменения и выйти из BIOS

Установка Xubuntu 18.04

Теперь перейдём к тому, как установить Xubuntu 18.04. При запуске носителя с Linux появится окно, в котором необходимо нажать любую клавишу, чтобы появилось окно выбора языка установки.

Первое окно при загрузке флешки

Выбор языка установки

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

Шаг 4. Запуск установщика

Далее необходимо выбрать пункт Установить Xubuntu.

Установка Xubuntu

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

Шаг 5. Выбор языка системы

 

На первом этапе укажите язык устанавливаемой ОС и нажмите Установить Xubuntu.

Выбор языка системы

Обратите внимание. На данном этапе всё ещё предлагается запустить Live-систему для ознакомления.

Шаг 6. Раскладка клавиатуры

На следующем этапе укажите язык раскладки клавиатуры по умолчанию и нажмите Продолжить. Вы сможете переключаться между английским и указанным языком через Shift + Space или Alt + Shift.

Выбор раскладки клавиатуры

Шаг 7. Программное обеспечение

Если у вас имеется активное интернет-соединение, поставьте галочки напротив пункта Загрузить обновления во время установки Xubuntu и Install third-party software, чтобы установить дополнительное ПО, в том числе проприетарное. Нажмите Продолжить.

Программное обеспечение

Шаг 7. Тип установки

Если вы хотите, чтобы система автоматически распределила пространство на диске, выберите пункт Стереть диск и установить Xubuntu. Таким образом с него будет удалена вся информация. Для ручной разметки и полного контроля дискового пространства выберите Другой вариант и нажмите Продолжить.

Выбор типа разметки

Шаг 8. Ручная разметка диска

После выбора пункта Другой вариант будет показано окно с доступными дисками для установки системы. Выберите необходимое устройство (в данном случае /dev/sda) и нажмите Новая таблица разделов….

Новая таблица разделов

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

Подтвердить создание таблицы

Шаг 9. Создание разделов

Поскольку установка Xubuntu 18.04 выполняется в Legacy-режиме и, соответственно, имеет тип разметки диска MBR, нет необходимости создавать отдельный раздел под загрузчик. Достаточно будет указать 2-3 раздела: корень, раздел подкачки (опционально, если оперативной памяти 6 ГБ и меньше) и домашний каталог.

Чтобы создать корневой раздел, выберите свободное место и нажмите +. В появившемся окне укажите его размер около 10000 МБ, тип нового раздела — Первичный, местоположение — Начало этого пространства, использовать как Журналируемая файловая система Ext4, точка монтирования — /. Нажмите ОК.

Создать root

Выберите оставшееся свободное место и создайте раздел подкачки с размером, равным объёму оперативной памяти. Тип раздела — Логический.

Создать swap

Для остального места создайте журналируемую файловую систему Ext4 на логический разделе, выбрав точку монтирования /home.

Создать home

Устройство для установки загрузчика укажите /dev/sda.

После распределения разметки нажмите Установить сейчас.

Установить сейчас

Подтвердите решение, ознакомившись с итоговой информацией о разметке диска.

Подтверждение установки

Шаг 10. Часовой пояс

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

Часовой пояс

Шаг 11. Создание пользователя

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

Создание пользователя

Шаг 12. Окончание установки

После этого дождитесь завершения инсталляции и нажмите Перезагрузить.

Окончание установки

Во время выхода из установки появится сообщение с просьбой вытащить флешку и нажать Enter.

Подтверждение выхода

Выводы

В этой статье была рассмотрена установка Xubuntu на ПК или ноутбук. Система имеет невысокие требования и является хорошим выбором для устройств со слабыми характеристиками «железа». Если у вас возникли вопросы во время установки, задайте их в комментариях.

Суббота, 02 июня 2018 00:00

Спящий режим в Ubuntu

Спящий режим Ubuntu — это режим энергосбережения, позволяющий отключить питание компьютера, сохранив при этом текущее состояние операционной системы. Это очень удобно: пользователь сможет включить компьютер и продолжить работу с приложениями, которые были запущены до отключения питания. Например, редактировать уже открытый текстовый документ или смотреть фильм с того же тайм-кода. Данный режим доступен как на ноутбуках, так и на настольных компьютерах. Мы будем рассматривать аспекты его использования в дистрибутиве Ubuntu 18.04 LTS.

 

Вообще, существует три разновидности спящего режима: режим ожидания (Suspend to RAM), режим гибернации (Hibernate, Suspend to disk) и гибридный режим (Hybrid sleep, Suspend to both). Первый режим доступен в Ubuntu по умолчанию, второй и третий — деактивированы из-за многочисленных жалоб пользователей. Мы рассмотрим все три режима для того, чтобы читатель мог выбрать наиболее подходящий для него, гарантированно работающий режим самостоятельно.

1. Режим ожидания

Режим ожидания (Suspend to RAM) или простой спящий режим Ubuntu доступен в системе по умолчанию и предусматривает отключение питания компьютера с сохранением питания оперативной памяти. Благодаря этой особенности он работает на подавляющем большинстве компьютеров, хотя и имеет очевидный недостаток, связанный с затратами энергии. Конечно же, каждый случай индивидуален, ведь любой режим энергосбережения предполагает подготовку устройств силами операционной системы с последующей передачей управления прошивке материнской платы, поэтому сложно гарантировать корректную работу даже режима ожидания.

По умолчанию режим ожидания активируется при закрытии крышки ноутбука. Также он может активироваться с помощью функциональной клавиши ноутбука (обычно это клавиша с изображением полумесяца). Кроме того, его можно включить из системного меню, но не самым очевидным образом. Для этого нужно открыть системное меню, нажать клавишу Alt, после чего кнопка завершения работы будет заменена на кнопку перехода в режим ожидания Ubuntu (Рисунок 1).

Рисунок 1. Кнопки завершения работы и перехода в режим ожидания

Вы можете прямо сейчас нажать на эту кнопку и испытать режим ожидания в деле. Если после отключения питания компьютера и последующего нажатия кнопки включения вам удастся продолжить работу с ранее запущенными приложениями, то спящий режим работает корректно. Если же после некоторого ожидания вы видите лишь чёрный экран или элементы графического интерфейса системы оказываются неработоспособными, лучше отключить спящий режим Ubuntu. Для этого в первую очередь следует запустить приложение дли изменения параметров системы с помощью крайней левой круглой кнопки с пиктограммой инструментов в системном меню (Рисунок 2).

Рисунок 2. Кнопка для изменения параметров системы

После открытия окна приложения нужно перейти на вкладку Электропитание. Здесь следует убедиться в том, что в качестве значения параметра При нажатии кнопки выключения не установлено Перевести в режим ожидания, а также нажать на строку Автоматический режим ожидания и отключить переключатель При простое (Рисунок 3).

Рисунок 3. Отключение режима ожидания

В случае закрытия крышки ноутбука всё немного сложнее: нужно установить дополнительное приложение GNOME Tweaks с помощью команды:

sudo apt-get install gnome-tweaks

Далее нужно запустить это приложение (его имя в меню  Доп. настройки GNOME), перейти на вкладку Электропитание и отключить переключатель Режим ожидания при закрытии ноутбука (Рисунок 4).

Рисунок 4. Параметры электропитания в GNOME Tweaks

Теперь при закрытии крышки ноутбук не будет переходить в режим ожидания как в старые добрые времена GNOME 2.

Конечно же, редкое руководство по Linux обходится без описания консольных команд. Мы также рассмотрим команды, которые позволяют активировать режим ожидания из консоли. За управление режимами энергосбережения в Ubuntu отвечает системная служба logind из состава systemd, с которой можно взаимодействовать как посредством утилиты systemctl, так и посредством системной шины сообщений DBus. Это команда для перехода в режим ожидания с помощью утилиты systemctl:

systemctl suspend

А это вызов соответствующего метода DBus:

dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.Suspend boolean:true

2. Режим гибернации

Режим гибернации (Hibernate, Suspend to disk) деактивирован в Ubuntu по умолчанию и предусматривает отключение питания компьютера с переносом данных из оперативной памяти в раздел подкачки. Разумеется, для корректной работы данного режима размер раздела подкачки должен превышать объём доступной оперативной памяти. Кроме того, данный режим нередко работает некорректно из-за проблем с прошивками материнских плат. Ещё один его недостаток — затраты времени на запись и чтение данных. Для активации режима гибернации необходимо добавить параметр ядра ОС и создать файл конфигурации Polkit.

Начнём с параметра ядра ОС. Он предназначен для передачи имени файла устройства раздела подкачки, в котором будут сохраняться данные состояния ОС. Чтобы узнать имя этого файла, можно воспользоваться следующей командой:

swapon --show

Необходимое имя должно находиться в столбце NAME (Рисунок 5).

Рисунок 5. Список разделов подкачки системы

В случае его отсутствия у вас не активирован раздел подкачки.

Это имя следует добавить в строку параметров ядра ОС, передаваемую системным загрузчиком GRUB, в форме значения параметра resume. Для этого нужно открыть файл конфигурации /etc/default/grub и отредактировать строку GRUB_CMDLINE_LINUX_DEFAULT. Проще всего это сделать с помощью следующей команды:

 

gedit admin:///etc/default/grub

Предположим, что именем файла устройства раздела подкачки является /dev/sda5. Тогда строку

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

придёётся заменить на строку

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/sda5"

После этого нужно сохранить изменения в открытом файле (Рисунок 6).

Рисунок 6. Измененные параметры ядра Linux

В заключение нужно обновить конфигурацию системного загрузчика с помощью следующей команды:

sudo update-grub

Помимо этого следует создать файл конфигурации Polkit в директории /etc/polkit-1/localauthority/50-local.d/ с именем com.ubuntu.enable-hibernate.pkla и следующим содержимым:

[Enable hibernate in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

Теперь приложение для изменения параметров системы позволит активировать режим гибернации при нажатии на кнопку включения (Рисунок 7).

Рисунок 7. Режим гибернации в меню приложения для изменения параметров системы

Это повод проверить спящий режим Ubuntu 18.04 с гибернацией. При отсутствии результата, вы можете снова деактивировать его, удалив созданный файл конфигурации с помощью команды:

sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Если же данный режим будет работать корректно, вы можете использовать кнопку включения для его активации. Если вы хотите активировать его при закрытии крышки ноутбука, вам придётся воспользоваться последовательностью специальных команд. Потому что ни приложение для изменения параметров системы, ни утилита GNOME Tweaks не позволёт сделать этого. Вот эти команды:

gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'hibernate'

gsettings set org.gnome.settings-daemon.plugins.power lid-close-battery-action 'hibernate'

Первая команда устанавливает режим при питании компьютера от сети, вторая — от батареи. Для проверки корректности установки значений параметров конфигурации может использоваться специальная утилита с графическим интерфейсом. Она устанавливается с помощью следующей команды:

sudo apt-get install dconf-editor

По окончании установки достаточно запустить её (имя в меню Редактор d-conf), осуществить переход org — gnome — settings-daemon — plugins — power и проверить значения параметров lid-close-ac-action и lid-close-battery-action (Рисунок 8).

Рисунок 8. Активированный режим гибернации при закрытии крышки ноутбука

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

gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'suspend'

gsettings set org.gnome.settings-daemon.plugins.power lid-close-battery-action 'suspend'

Также может возникнуть вопрос: «А как активировать режим гибернации из системного меню?». Вообще, такой возможности не предусмотрено, но вы можете установить расширение GNOME Shell под названием «Hibernate Status Button». Установка расширения осуществляется с помощью Менеджера приложений Ubuntu (само расширение размещено в разделе Дополнения на вкладке Расширения GNOME Shell) (Рисунок 9).

Рисунок 9. Расширение «Hibernate Status Button» в списке расширений Менеджера приложений Ubuntu

После установки расширения в системном меню появится соответствующая кнопка (Рисунок 10).

Рисунок 10. Кнопка для перехода в режим гибернации

Если нажать на клавишу Alt при показе системного меню, кнопка перехода в режим гибернации будет заменена на кнопку перехода в гибридный режим сна.

Ну и о командах для самостоятельной активации данного режима. Это команда для перехода в режим гибернации с помощью утилиты systemctl:

systemctl hibernate

А это вызов соответствующего метода DBus:

dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.Hibernate boolean:true

3. Гибридный режим сна

Гибридный режим сна (Hybrid sleep, Suspend to both) объединяет в себе оба рассмотренных выше режима энергосбережения. Он деактивирован в Ubuntu по умолчанию и предусматривает отключение питания компьютера с копированием данных из оперативной памяти в раздел подкачки и сохранением питания оперативной памяти. Для корректной работы данного режима, как и режима гибернации, требуется раздел подкачки достаточного размера. С точки зрения пользователя это самый надёжный режим, ведь в случае разряда батареи данные состояния операционной системы могут быть извлечены из раздела подкачки.

Активация данного режима сна осуществляется вместе с активацией режима гибернации. При этом его поддержка не реализована в полной мере в окружении рабочего стола GNOME, поэтому он может быть задействован лишь посредством системной службы logind и рассмотренного выше расширения «Hibernate Status Button» после нажатия клавиши Alt.

Вы можете перевести свой компьютер в этот режим с помощью утилиты systemctl:

systemctl hybrid-sleep

А также вызвав метод DBus:

dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.HybridSleep boolean:true

Заключение

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

Суббота, 02 июня 2018 00:00

Аналоги WinRAR для Linux

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

 

У многих пользователей, которые только перешли на Linux, часто возникает вопрос, а есть ли какие-либо менеджеры архивов под данную ОС, которые будут нормальной альтернативой WinRAR. Далее я покажу вам 4 хорошие, на мой взгляд, программы.

Аналоги WinRAR в Linux

По сути все архиваторы для Linux, которые работают в графическом интерфейсе, являются оболочками для консольных утилит, поэтому они поддерживают одни и те же форматы архивов. Но для этой поддержки нужно, чтобы в системе были установлены соответствующие утилиты (zip, unzip, rar, unrar, tar, lzma, p7zip, bzip2 и другие), если они вам нужны.

1. Ark

Архиватор, входящий в комплект программ KDE. Код программы написан на C++, интерфейс с использованием Qt. По сути является графической оболочкой для библиотек и консольных приложений, работающих с архивами. Распространяется под лицензией GPL.

Ubuntu

Ark присутствует в основном репозитории, просто введите следующую команду:

sudo apt install ark

Arch

Данный архиватор также имеется в стандартных репозиториях Arch:

sudo pacman -S ark

2. File Roller

Аналог WinRAR Linux, разрабатываемый для оболочки Gnome (но это не значит, что её можно использовать только там). По сути File Roller является Front-end, графической оболочкой, дающей пользователю единый интерфейс для различных консольных архиваторов. Данная программа написана на C, а интерфейс на GTK+. Распространяется под лицензией GPL.

Внимание! На момент написания статьи программа не обновлялась с 23.09.13!

Ubuntu

Данный пакет присутствует в официальном репозитории Ubuntu, так что используйте следующую команду:

 

sudo apt install file-roller

Arch

Программа также есть в стандартных репозиториях:

sudo pacman -S file-roller

3. PeaZIP

Бесплатный, кроссплатформенный архиватор, написанный на Object Pascal и Pascal. Распространяется для Windows 9x, Windows NT и Linux. Имеет свой формат пакетов «*.pea», который поддерживает многотомные архивы, сжатие, системы шифрования и контроля целостности. Работа же с другими форматами чаще обеспечивается за счёт различных внешних библиотек. Интерфейс программы имеет реализацию как на Qt, так и на GTK+. Распространяется под лицензиями GPL и LGPL.

Внимание! Поддержка кодировки UTF-8 реализована не полностью!

Ubuntu

В официальных репозиториях Ubuntu данного пакета нет. Лучше скачайте deb-файл с сайта проекта, выбрав нужную вам версию.

Arch

Данного пакета нет и в стандартных репозиториях Arch, так что придётся воспользоваться AUR. Qt версия:

yaourt -S peazip-qt

Gtk версия:

yaourt -S peazip-gtk2

4. Xarchiver

Легковесный файловый архиватор. Архиватор по умолчанию для таких сред, как LXDE и XFCE. Написана данная программа на C, интерфейс же построен на GTK+. Распространяется под лицензией GPLv2.

Внимание! Разработка приостановлена!

Ubuntu

Чтобы установить данную программу в этом дистрибутиве, просто выполните следующую команду в терминале:

sudo apt install xarchiver

Arch

Пакет с данной программой есть и в официальных репозиториях Arch:

sudo pacman -S xarchiver

Выводы

В данной статье мы рассмотрели несколько программ, которые можно использовать как аналоги WinRAR Linux. Какую из них использовать, решать вам. А каким архиватором предпочитаете пользоваться вы? Напишите в комментариях!

Страница 1 из 2

О сайте

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

Контакты

  • E-mail: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
  • E-mail: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Gentoo

Mikrotik

Android