Азбука Linux

Материал из razgovorov.ru
Версия от 19:12, 28 декабря 2018; Разговоров Михаил (обсуждение | вклад) (Изменение зависимостей пакета deb)
Перейти к: навигация, поиск

Новичкам в работе с Linux системами Debian/Raspbian и для осваивания Raspberry PI могут помочь некоторые программы и утилиты:

Полезные программы

Putty - утилита для подключения к консоли по ssh из windows ,скачать можно тут. Позволяет удаленно настраивать linux системы по сети или через Интернет. Вы получаете доступ к консоли как бы находясь на самом linux..

Полезные пакеты

mc (Midnight Commander) - удобный файловый менеджер,для включения более удобного редактора можно поставить соотвествующие галки в настройках.mc

htop - управление процессами и мониторинг памяти в системах linux.

Управление пакетами

sudo apt-get install <название пакета> -установка пакета из репозитория ,например чтобы установить файловый менеджер mc выполним sudo apt-get install mc.

apt-cache search <название пакета> - поиск в репозитории пакетов с таким именем. Предварительно необходимо установить пакет apt-cache.

apt-file search <имя файла> - поиск в репозитории пакетов в которых есть файлы с указанным именем. Предварительно необходимо установить пакет apt-file.

sudo apt-get update - обновление локального списка доступных в репозитории пакетов. Желательно выполнять эту комманду перед установкой новогопакета.

sudo apt-get upgrade - обновление установленных пакетов.

Выполнение команд от имени администратора

sudo - утилита запуска программ c правами суперпользователя,например чтобы запустить программу mc с правами суперпользователя необходимо набрать "sudo mc" - это даст возможность правки системных файлов папке etc.Далее ниже в описании команд,где это необходимо,будет сразу указано что необходимо выполнить запуск с командой sudo.

sudo su - войти с правами администратора, в дальнейшем sudo можно уже не указывать

ifconfig - выводит список сетевых интерфейсов, позволяет задать/поменять адрес например sudo ifconfig eth0 192.168.0.110

reboot - Перезагрузка. Команда reboot завершает работающие процессы сигналом SIGTERM (15), команда shutdown позволяет работающим сервисам самостоятельно завершить работу с помощью прилагаемых init скриптов. Это позволяет КОРРЕКТНО завершить работу, почистить кеш где нужно и где это предусмотрено, выполнить какие либо промежуточные действия. Всегда используйте shutdown вместо reboot

shutdown -r 0 - Перезагрузка.

shutdown -h 0 - Выключение компьютера.

sudo passwd root - задать пароль чтобы можно было заходить под root (например для удаленной отладки)


tar - консольный архиватор.Например команда tar xzf имя_файла.tar.gz разархивирует содержимое в текущую папку.

i2c-tools - утилита для поиска i2c устройств на шине. Пример использования sudo i2cdetect -y 0 сканирует на шине 0 (для ревизии платы 1 номер шины 0 ,для ревизии платы 2 - шина 1)i2c

В данном примере утилита находит датчик давления BMP085 по адресу 77 (HEX).

alsamixer - регулировка громкости звука

Подключение модулей ядра:

Для немедленной загрузки модуля ядра можно выполнить команду sudo modprobe <название модуля>

Для автозагрузки необходимо прописать в файле /etc/modules названия модулей каждый с новой строки,открыв файл ,например в редакторе mc через F4.

Применяемые модули в raspberry pi:

snd-bcm2835 - общий модуль для работы с GPIO.

w1-gpio , w1_therm для работы с шиной 1-wire,которую используют датчики температуры ds18B20. Используется для подключения вывод GPIO 4.

i2c-bcm2708 , i2c-dev для работы шины I2C ,на которой например работает датчик давления BMP085 и микросхемы расширения портов.

Изменение зависимостей пакета deb

# Распакуйте deb 
ar x golden-linux.deb
# создаст три файла: debian-binary control.tar.gz data.tar.'''x'''z
# Распаковать архив управления и запоминаем что там было
FILES=$(tar zxvf control.tar.gz)
# исправить зависимости в control (используйте текстовый редактор)
nano control
# запоковываем control.tar.gz: 
tar zcf control.tar.gz $FILES
# собираем deb, порядок файлов важен!
ar rcs newpackage.deb debian-binary control.tar.gz data.tar.xz

Монтирование NTFS и FAT, FAT32 дисков в Ubuntu и права на общий доступ к ним

При установке Ubuntu можно сразу указывать какой диск с какой файловой системой куда и как монтировать, система сама пропишет правильный конфиг в файл fstab. Если же по каким-то причинам мы это не сделали вначале, можно без проблем проделать это вручную.

И так, для начала нам нужно узнать UUID идентификатор диска или его порядок в таблице разделов . Выполняем команду в консоли: sudo blkid

должно показать что-то похожее:

/dev/sda1: LABEL="M-PM-^WM-PM-0M-QM-^@M-PM-5M-PM-7M-PM-5M-QM-^@M-PM-2M-PM-8M-QM-^@M-PM->M-PM-2M-PM-0M-PM-=M-PM-> M-QM-^AM-PM-8M-QM-^AM-QM-^BM-PM-5M-PM-<M-PM->M-PM-9" UUID="A898D59D98D56A78" TYPE="ntfs" 
/dev/sda2: LABEL="disk" UUID="30286E84286E4944" TYPE="ntfs" 
/dev/sda3: UUID="513b5ee6-d7c9-4249-a250-a413c76eaf54" TYPE="ext4" 
/dev/sda4: UUID="bf5cd121-9d5e-44dc-bfd0-df33a4180282" TYPE="ext4" 
/dev/mapper/cryptswap1: UUID="41c94518-619d-4651-8fcf-fb6dafb44f9a" TYPE="swap"

Далее правим конфиг fstab, вводим в консоли:

sudo gedit /etc/fstab

Добавляем в конце файла строку:

для NTFS

UUID=нужный_идентификатор /путь_к_разделу ntfs-3g rw,users,locale=ru_RU.UTF-8 0 0

для FAT, FAT32

UUID=нужный_идентификатор /путь_к_разделу vfat shortname=mixed,codepage=850,umask=002,uid=1000,gid=100,noauto,user 0 0

так же можно вместо UUID ввести порядковый номер раздела, например так:

/dev/sda2 /home/myuser/disk ntfs-3g rw,users,locale=ru_RU.UTF-8 0 0

Перегружаем систему, наслаждаемся :)

Теперь дадим права пользователям расшаривать общий доступ к папкам:

sudo gedit /etc/samba/smb.conf

находим секцию [global] и в неё добавляем:

usershare owner only = false

samba public config

[global]
  workgroup = group                #ваша рабочая группа
  server string = server-samba %v  #строка комментария (описания),
                                   #которая будет видна в сетевом окружении
  netbios name = server            #netbios-имя вашего сервера
  security = user                  #этот параметр указывает,
                                   #как будут себя вести клиенты
  map to guest = Bad Password      #указывает попытку зайти "Гостем"

[public]
  comment = public                 #описание директории, видно
                                   #в сетевом окружении
  path = /home/public              #путь к общей директории
  guest ok = yes                   #при значениее "yes" этого параметра
                                   #пароль при входе в общую папаку не
                                   #нужен
  public = yes
  writeable = yes
  browseable = yes                 #общая папка не скрыта