Ubuntu не загружается начальный виртуальный диск

Что такое сложные проблемы

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

Задача 1. Мать поручила сыну принести домой ровно 7 л воды с реки. Она дала ему два кувшина емкостью 3 и 5 л. Как мальчик может отмерить точно 7 л воды, используя только два этих кувшина?

Задача 2. Вообразите, что регулярные частные полеты на орбиту Земли стали возможны и сопоставимы по стоимости с среднестатистическим путешествием в другую страну. Подумайте, что делать представителям туристической индустрии на Земле? Запишите мысли, которые придут в голову. 

Первая задача — это «задачка». У нее есть конкретный правильный ответ, к которому можно прийти через ряд вычислений. Это фрагмент классического Стэнфордского теста Термана на измерение интеллекта «The Measurement of Intelligence» 1916 года. Правильное и быстрое решение подобных задач показывает высокие значения в тестах когнитивных способностей и уже более 100 лет вызывает горячие дискуссии в профессиональном исследовательском сообществе. Однако, даже несмотря на высокие когнитивные способности, люди склонны попадать в ментальные ловушки, принимать решения на основе ошибочных предположений и опираться на стереотипные представления. 

Вторая задача — это сложная «проблема». У нее нет единственно правильного решения. Есть большое количество факторов, которые нужно учесть, и условий, которые будут формировать разные сценарии; при этом существенную роль будет играть эмоциональный фон решающего. 

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

Публикация баз 1С на веб сервере

Идем на виртуалку с windows и работаем там с 1С. Кстати, если хотите обойтись вообще без windows, то есть возможность настроить публикацию баз 1С на linux на примере Centos.

Для начала устанавливаем технологическую платформу и не забываем выбрать Модули расширения веб-сервера.

Создаем там необходимую вам базу данных. Я покажу на примере публикации типовой базы Бухгалтерия 3.0. При первом запуске необходимо будет установить на этот компьютер софтовые лицензии. Они будут использоваться при доступе к базам через браузер.

Установка и настройка Apache 2.4 в Windows

Теперь устанавливаем apache 2.4. С ним опубликовать базы 1С проще и быстрее, чем с iis. Качаем apache отсюда — https://www.apachelounge.com/download/

Если у вас не установлен Visual C++ Redistributable for Visual Studio 2015-2019, то скачайте дистрибутивы там же. Бинарники apache скачали, теперь распакуем их в папку C:/apache24/. Затем идем в конфигурационный файл apache C:\Apache24\conf\httpd.conf, открываем его блокнотом и изменяем там несколько параметров:

ServerName localhost:80
ErrorLog "|C:/apache24/bin/rotatelogs.exe -l C:/apache24/logs/errorlog.%Y-%m-%d.log 2592000"

Последняя строка это автоматическая ротация логов. Рекомендую ее сразу настроить, а не откладывать на потом. Если у вас по какой-то причине нет возможности использовать стандартный порт 80, потому что он занят кем-то другим, то можно использовать любой другой, например 81. Я всегда так и делал раньше. Но с недавних пор это стало приводить к ошибке, так как после публикации баз 1c через reverse proxy с https, стали вылезать ссылки вида https://1c.server.ru:81. Подобные ссылки невозможно открыть. Это приводит к ошибкам в работе некоторых разделов базы, где эти ссылки вылезают. Подробнее этот момент я рассмотрю ниже, в разделе с возможными ошибками.

Если вы настраиваете apache на Windows Server, то скорее всего 80-й порт у вас будет занимать Служба веб-публикаций (World Wide Web Publushing Service) или W3SVC. Ее можно остановить и отключить.

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

netstat -ao

Дальше через диспетчер задач смотрите, какой процесс имеет указанный pid. В моем случае это apache. Если это какой-то системный процесс, у него будет pid 4.

Итак, конфиг apache отредактировали, порт 80 указали. Теперь установим apache 2.4 как службу windows

Для этого открываем командную строку от администратора (это важно), переходим в каталог C:\Apache24\bin и выполняем:

httpd.exe -k install

Вы можете увидеть ошибку, связанную с отсутствием fqdn имени у сервера. Но реально это не представляет проблемы, можно игнорировать.

Errors reported here must be corrected before the service can be started.
AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::955f:6a46:c404:c1f7. Set the 'ServerName' directive globally to suppress this message.

Переходим в оснастку windows Службы и запускаем Apache2.4.

Убедимся, что веб сервер нормально работает. Для этого в браузере достаточно открыть страницу http://localhost.

Вы должны увидеть сообщение It works! Если видите, то все в порядке.

Дальше выполняем непосредственно публикацию базы 1С через web сервер apache. Открываем базу через Конфигуратор, выбираем Администрирование -> Публикация на веб-сервере. В качестве каталога можно указать тот же, где лежит сам файл с базой.

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

После этого можно зайти в браузере по адресу http://localhost/buh3 и увидеть локальную файловую базу, которую мы только что опубликовали.

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

Ubuntu не загружается дальше initramfs

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

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

Почему Linux не загружается дальше initramfs

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

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

1. Неверный корневой раздел в загрузчике

В данном случае она сообщает, что не может найти раздел /dev/sda10:

Alert: /dev/sda10 does not exist. Dropping to a shell

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

ls /dev/ | grep sd

В этом окружении есть BusyBox, а значит есть большинство утилит Unix. Вы можете примонтировать каждый из этих разделов с помощью команды mount и узнать где находится ваш новый корневой раздел, например:

mkdir /mnt mount /dev/sda5 /mnt ls

Вы также можете узнать здесь же UUID данного раздела диска, для этого выполните:

В данном случае, корневой раздел имеет имя /dev/sda5. Именно это имя можно передать ядру в конфигурации загрузчика Grub, а можно UUID, но если в этом нет крайней необходимости, то короткое имя использовать гораздо проще. Надо перезагрузить компьютер, в меню Grub выбрать нужную загрузочную запись и нажать клавишу E:

Далее найти пункт, начинающейся со слова linux и в нём параметр root. Его значение вместе со словом UUID надо стереть, а вместо него прописать имя корневого раздела:

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

2. Повреждённая файловая система

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

The root filesystem on /dev/sda5 requires a manual fsck

Вы можете прямо здесь же попытаться восстановить файловую систему. Для этого выполните:

Здесь /dev/sda5 — это корневой раздел, его нужно заменить на свой. Опция -y указывает утилите, что на все вопросы надо ли исправлять блок нужно отвечать утвердительно. После успешного восстановления надо перезагрузить компьютер и попытаться загрузить систему снова.

Выводы

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

Нет похожих записей

alt=»Creative Commons License» width=»» /> Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Ошибка диска: /dev/sda1 does not exist

Проблема с fstab

Если при загрузке сервера вы видите ошибку:

ALERT! /dev/sda1 does not exist. Dropping to a shell.

Скорее всего вы только что установили Linux или то на вашем сервере есть проблемы в fstab. Чаще всего проблема возникает при установке системы с usb-накопителя. Раздел на который ругается система, может быть какой угодно. Как и в первом случае, нам нужно загрузиться с образа системы и выполнить некоторые действия. Проверьте UUID диска командой:

Система выдаст что-то подобное:

/dev/sda2: UUID=»36cce3d5-cbdb-46f4-adbf-3f9aaa01d729″ TYPE=»ext4″ PARTUUID=»fea4dab1-4e12-4327-85c6-76ade18f64e1″

Отсюда уже видно, что система должна загружаться с sda2, а по факту загружается с sda1.

Монтируем наш раздел в любую директорию, например:

# sudo mount /dev/sda2 /mnt

Получаем в директории /mnt весь наш раздел /dev/sda2, находим там файл /etc/fstab и изменяем строку, содержащую /dev/sda1 на:

UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 / ext4 errors=remount-rw 0 1

Сохраняем файл. Отмонтируем раздел от /mnt и перезагрузимся, если проблема была связана с не неправильным адресом разделе, сервер загрузится.

Так же данный вариант можно решить, загрузившись в emergency. Перемонтируйте корень для записи:

# sudo mount -o remount,rw /

После чего измените fstab и перезапустите сервер.

Проблема с железом

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

Загрузитесь в режиме emergency или с live-cd и измените файл /boot/grub/grub.cfg

В строке где происходит загрузка раздела, например:

Linux /boot/vmlinuz-4.15.0-70-generic root=/dev/sda1 rw quiet elevator=noop fsck.repair=yes

Измените путь до диска на UUID:

Linux /boot/vmlinuz-4.15.0-70-generic root=UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 ro quiet elevator=noop fsck.repair=yes

Предыдущая статья Следующая статья

Читайте далее в разделе Ubuntu

Установка и настройка GLPI и FusionInventory, инвентаризация ИТ инфраструктуры

Установка и использование подсистемы Linux (WSL 2) в Windows 10

Zabbix: установка и базовая настройка системы мониторинга

Zabbix: проверка доступности запросом ICMP Ping

Копирование числовых ячеек из 1С в Excel

Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.

33

Как сделать chroot в установленную систему с LiveUSB?¶

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

Для начала создадим каталог для точки монтирования:

sudo mkdir /media/fedora

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

sudo mount -t ext4 /dev/sda3 /media/fedora

Здесь /dev/sda3 – раздел, на котором установлена ОС, а ext4 – его файловая система. Внесём соответствующие правки если это не так.

Переходим в каталог с корневой ФС и монтируем ряд необходимых для работы окружения виртуальных ФС:

cd /media/fedora
sudo mount -t proc /proc proc
sudo mount --rbind /sys sys
sudo mount --make-rslave sys
sudo mount --rbind /dev dev
sudo mount --make-rslave dev
sudo mount -t tmpfs tmpfs tmp

При необходимости смонтируем и разделы:

sudo mount -t ext4 /dev/sda2 boot
sudo mount -t vfat /dev/sda1 boot/efi

Теперь осуществим вход в chroot:

sudo chroot /media/fedora

Если для выполнения действий требуется доступ к Интернету, настроим .

По окончании работы завершим работу chroot-окружения:

logout

Отмонтируем раздел:

Как исправить ошибку «initramfs» в Ubuntu 2 мин для чтения

Добавить в избранное

Главное меню » Как исправить ошибку «initramfs» в Ubuntu

7 июня 2021

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

Ubuntu также может встретить вас с подобными проблемами, и «initramfs» – одна из них. Это проблема загрузки Ubuntu, которая возникает из-за сбойных блоков или сбойных секторов в памяти, которые не позволяют загрузиться операционной системе.

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

Не о чем беспокоиться; В этой статье основное внимание уделяется тому, как решить проблему с initramfs и нормально загрузить Ubuntu. Итак, начнем:

Как выглядит ошибка?

Ошибка выглядит примерно так:

BusyBox v1.30.1 (Ubuntu 1:1.30.1-4ubuntu6.1) built-in shell (ash) 
Enter 'help' for a list of built-in commands.

(initramfs)

Если ввести команду «exit» то оболочка выведет примерно это:

(initramfs) exit
/dev/sda1 contains a file system with errors, check forced.
Inode 4326476 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda1: Inode 4326843 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda1: Inode 4327012 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda1: Inode 4329004 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda1: Inodes that were part of a corrupted orphan linked list found.

/dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
        (i.e., without -a or -p options) 
fsck exited with status code 4. 
The root filesystem on /dev/sda1 requires a manual fsck. 

BusyBox v1.30.1 (Ubuntu 1:1.30.1-4ubuntu6.1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

Как видно из вышеприведенного вывода, раздел /dev/sda1 поврежден. В файловой системе этого раздела есть ошибки. Если вы когда-либо сталкивались с подобной проблемой, просто следуйте инструкциям, приведенным ниже.

Возможные причины медленной работы 1С

Можно бесконечно перечислять причины, из-за которых возникают проблемы. Поэтому сразу оговоримся, что мы рассматриваем только наиболее распространённые причины медленной работы 1C, а не перечисляем все возможные варианты.

  1. Медленный интернет. Поскольку при работе 1C передаются большие объёмы данных, необходима достаточная пропускная способность интернет-канала. При неправильной настройке скорость работы будет замедляться, поскольку порезанный канал не сможет пропустить через себя больше информации, чем задано в конфигурации.
  2. Нехватка ресурсов. Чем больше компания, тем больше ресурсов потребляет 1C. Нехватка RAM (реже — места на диске) приводит к тормозам сервера 1C. Если необходимо большое количество сессий пользователей и поддержка одновременной работы разных программ и документов, нужно увеличить объём потребляемых ресурсов. У облачных провайдеров это можно сделать самостоятельно или через техподдержку. Также причиной медленной работы сервера может быть неправильная настройка MS SQL Server.
  3. Активность брандмауэра антивируса или Windows. Защитное ПО может замедлять скорость обмена данными с базой 1С. Чтобы этого не случилось, добавьте соответствующие правила и откройте порты 1540-1591, т.к. платформа работает в этом диапазоне.
  4. Совмещение платформ. Использование на одном физическом сервере 1С и MS SQL (или другой СУБД) упрощает обработку больших массивов данных, когда выполняется закрытие месяца или расчёт бюджета. Однако в случае с ненагруженными операциями производительность резко падает. Чтобы этого не произошло, разнесите БД по разным серверам или обратитесь за помощью в техподдержку провайдера.
  5. Медленные диски. Скорость записи на SSD и HDD различна. Серьёзные провайдеры уже давно перешли на SSD-диски, которые позволяют быстро обмениваться данными. Если наблюдаются проблемы со скоростью записи или чтения информации из БД, уточните у вашего провайдера, какие диски в СХД он использует.
  6. Старая версия платформы. Актуальные версии 1C работают быстрее предшественников. Было бы странно, если бы платформа, вышедшая два года назад, была производительнее и шустрее той, что вышла недавно.
  7. Большое количество неиспользуемых функций. 1C — как конструктор, в нём огромное количество дополнительных модулей. Если их не отключить, они будут нагружать систему и замедлять процессы. Убедитесь, что у вас подключены только те модули, которые действительно нужны.

Бесплатный тестовый доступ к облаку на 30 днейПолучить

Удаление антивируса

Понятно, что не хорошо такое советовать, но в момент поиска причины медленной работы 1С, я советую не отключить, а именно удалить ваше антивирусное решение, чтобы точно удостовериться, что причина не в нем, так как я очень часто с этим сталкивался. Потом если понятно, что дело в нем нужно реализовывать совместную работу. Основная идея в том, что нужно добавить компоненты 1С:Предприятия (например, папку C:\Program Files\1cv8\BIN и C:\Program Files\1cv8\server) и C:\Program Files (x86)\1cv8 в исключения. Также добавить в исключения рабочие (1Cv8*.1C?  — маска для (1Cv8.1CD \ 1Cv8tmp.1CD \ 1Cv8.1CL \ 1Cv8tmp.1CL)

  • 1Cv8.pfl
  • 1Cv8.log
  • *.epf
  • *.dt
  • *.cf
  • *.cfu)
  • и временные файлы, используемые 1С:Предприятие.

Проблемы с оптимизацией CSS и JavaScript

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

Рендеринг — сложный процесс. Браузеру нужно построить макет будущей страницы, понять, какие стили использовать для каждого элемента, отрисовать саму страницу. 

Неправильно подключенные и настроенные файлы JavaScript и CSS могут замедлить рендеринг. Ведь браузер пытается сначала подгрузить скрипт, иначе содержимое страницы просто не отобразится. 

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

Ubuntu/Mint/Kali загружается в initramfs BusyBox (РЕШЕНО)

В этой статье мы покажем, как решить проблемы, которые возникают, когда компьютер под управлением Ubuntu, Mint Linux или Kali Linux не загружается и во время инициализации initramfs появляется только приглашение busybox. В этой ситуации возможно получить доступ и использовать только командную строку initramfs.

initramfs — это исходная файловая система на основе tmpfs в ОЗУ, которая не использует отдельное блочное устройство. Как и initrd, она содержит инструменты и сценарии для монтирования файловых систем до вызова init, расположенного в корневой файловой системе.

Восстановление неработающего суперблока Ext4 в Linux

Если Ubuntu вылетает в busybox во время инициализации initramfs, возможно, на диске повреждён суперблок.

Несколько копий суперблока хранятся в Linux. Чтобы восстановить систему в случае возникновения этой проблемы, вам необходимо загрузиться с аварийного образа/диска Live CD и запустить терминал. После загрузки введите в терминал следующую команду:

Команда возвращает информацию о вашем томе:

Запомните имя тома и укажите его в следующей команде:

Команда покажет список резервных суперблоков:

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

Если вы получите такой результат:

После успешной замены суперблока вы получите такое сообщение:

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

Fsck Boot Error: Unexpected Inconsistency

Второй вариант проблемы initramfs (BusyBox) включает следующее сообщение в окне терминала:

Если вы его не видите, попробуйте ввести в (initramfs)

в окне терминала. Ошибка может появиться после того, как вы это сделаете.

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

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

Проблема с Fstab

При загрузке хоста Linux вы можете увидеть следующую ошибку:

Возможно, вы только что установили Linux или у вашего хоста возникли проблемы с fstab. Чаще всего проблема возникает при установке системы с USB-накопителя. Система может показывать ошибку любого тома. Как и в первом случае, мы должны загрузиться с загрузочного / аварийного носителя Linux и выполнить некоторые действия. Проверьте UUID диска с помощью этой команды:

Система вернёт примерно следующее:

Здесь мы видим, что система должна загружаться с sda2, но на самом деле она пытается загрузиться с sda1.

Смонтируйте том в любой каталог, например:

Когда вы увидите /dev/sda2 в каталоге /mnt, найдите там файл /etc/fstab и измените строку, содержащую /dev/sda1, следующим образом:

Сохраните файл. Отмонтируйте том от /mnt и перезагрузитесь. Если проблема связана с неправильным именем тома, сервер загрузится.

Также вы можете решить эту проблему, загрузившись в аварийном режиме. Перемонтируйте корневой каталог как чтение / запись:

Затем измените fstab и перезапустите сервер.

Аппаратная проблема

На некоторых материнских платах порты SATA могут иметь случайные числа. Это также может вызвать ошибку, описанную в предыдущем разделе. Чтобы исправить это, вы должны отредактировать загрузчик grub.

Что делать, если замедляется рендеринг страницы

  1. Настроить отложенную загрузку JavaScript. Пусть самые большие JS-файлы будут загружаться в самом конце и не тормозить отображение остального контента. Чтобы настроить отложенную загрузку, настройте вызов внешнего JS-файла перед тегом </body>.
  2. Использовать асинхронную загрузку скриптов. При синхронной загрузке страница часто отображается в браузере с задержками, так как браузер не отобразит страницу, пока не обработает CSS- и JS-файлы. Асинхронная загрузка дает браузеру возможность загрузить HTML-страницу, даже если он пока не обработал файлы js и css. 
  3. Разместить ссылки на CSS-файлы перед ссылками на Javascript-файлы. Так страница будет загружаться постепенно: заголовок, логотип, рубрики, верхние блоки и т. д. Если разместить CSS-файлы после ссылок на файлы со скриптами, браузер будет тормозить и стараться загрузить все элементы одновременно — через несколько секунд ожидания. 
  4. Удалить все неиспользуемые элементы кода: пустые строки и переносы строк, ненужные комментарии, лишние пробелы, символы табуляции. Это уменьшит объем файла, и браузер будет быстрее его загружать. 

Лучше хранить две версии файлов: вариант для разработки (где сохранены все комментарии и удобное форматирование) и минифицированный вариант для размещения на сайте. 

Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: