Архив метки: linux

Как скопировать жесткий диск с OS linux

Бывает необходимо иметь резервную копию диска, на случай поломки или выхода из строя. Также возможна ситуация, когда Вы просто хотите перейти на диск большего размера. Как раз у меня возникла такая ситуация и на диск ssd диск 128 гигабайт перестал влезать необходимый софт. Для этого был прикуплен ssd на 250Gb. Установленная операционная система — Ubuntu 16.04 .
Немного порывшись в интернете решил, что самым простым способом будет исользовать специально предназначенную для этого программу clonezilla. Таким образом алгоритм перехода на новый диск будет таким

1. Копируем важную информацию на другой носитель/компьютер/облако. Думаю тут понятно что этот шаг обязателен, т.к. пойти может что-то не так и что никто никогда не предугадает )

2. Делаем образ clonezilla live. Для этого можно воспользоваться специальной утилитой tuxboot.
2.1 устанавливаем Tuxboot , на официальном сайте tuxboot написано как это сделать. Я выбрал
установку через ppa.
2.2 Запускаем просто набрав в командной строке tuxboot. Вас спросят пароль администратора.
2.3 Интерфейс будет достаточно понятным, выбираем образ и флешку, и далее ОК

3. Загружаемся с загрузочной флешки (В биосе надо нажать кнопку прерывания для выбора приоритета загрузки, на плате B350M PRO-VDH это F11)
3.1 Далее идут простые вопросы, выбираем с диска на диск и в самом простом случае выбираем все дефолтные настройки. Опять же особенности каждой опции можно узнать на официальном сайте clonezilla .

Готово, теперь у Вас есть копия диска. На этом можно закончить, но добавлю пункт 4 со звёздочкой

4*. Редактирование разбиения диска или партиций. Как было замечено, мне необходимо было перейти на диск большего объёма, бывают случаи что надо например сделать резервную копию на диск меньшего объёма. В таком случае в clonezilla надо выбрать режим «expert mode». И тогда в одном из окон вас спросят про разделы. Выбираем чтобы разделы создавались пропорционально.

Таким образом за 4 шага мне удалось перейти на новый, более быстрый и объёмистый диск на линуксе.

Джентельменский набор команд linux

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

Начнем с того, без чего просто нельзя:

pwd

Команда pwd покажет ваше текущее расположение

Отобразить подробно весь список файлов и директорий, включая скрытые, в текущей папке

ls -la

Любителям FAR и total commander очень советую поставить аналог — midnight commander (mc). Установка будет выглядеть примерно так:

sudo apt-get install package
sudo yum install package

Команда установки пакета в зависимости от ОС линукс может меняться. Кстати после установки mc появится удобный редактор mcedit для редактирования файлов.

Найти все файлы с определенным разрешением

find -type f -name '*.php'

Команда для нахождения больших файлов в linux — размером более 100 мб.

find / -xdev -type f -size +100M

Часто бывает так, что логи (к примеру access.log и error.log) сильно разрастаются со временем и необходимо их очистить без удаления файла. Для этого поможет команда truncate

sudo truncate -s 0 test.txt

обнуляем файл, если прав хватает и без sudo то просто

> test.txt

При переходе

#делаем файл исполняемым
chmod a+x file.py

#где находится тот или иной пакет / программа
which php

uptime — позволяет посмотреть нагрузку на сервер. Подробнее http://habrahabr.ru/post/216827/

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

ps aux | grep manage.py[[:space:]]pdf_process | wc -l

Для работы с кроном, кстати есть прикольный сайт- crontab generator, где можно без лишних хлопот сгенерировать команды crontab . Для вызова редактора работы с кроном используйте команду crontab -e

crontab -e
# пример перезапуска apache2
sudo service apache2 restart

Проверить порт:
telnet some_host port, например telnet zabaykin.ru 80

Заархивировать по маске расширения файлов
tar -cvzf some_archive.tar.gz ./folder/*.jpg

Разархивировать tar.gz файл
tar -xvzf some_file.tar.gz

Команды идентификации:
Чтобы узнать под каким вы сейчас пользователем работаете — whoami
Чтобы узнать сетевое имя linux сервера, за которым сидите, команда — hostname