Азбука Linux — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
(Изменение зависимостей пакета deb)
(samba public config)
 
(не показано 15 промежуточных версий этого же участника)
Строка 62: Строка 62:
 
==Изменение зависимостей пакета deb==
 
==Изменение зависимостей пакета deb==
  
Распакуйте deb: ar x golden-linux.deb(создаст три файла: debian-binary control.tar.gz data.tar.gz)
 
  
Распаковать архив управления: tar xzf control.tar.gz(создаст: postinst postrm preinst prerm md5sums control)
+
<source lang=bash>
 +
# Распакуйте 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
 +
</source>
  
Исправить зависимости в control(используйте текстовый редактор)
+
==Монтирование NTFS и FAT, FAT32 дисков в Ubuntu и права на общий доступ к ним==
  
Repack control.tar.gz: tar --ignore-failed-read -cvzf control.tar.gz {post,pre}{inst,rm} md5sums control
+
https://disnetern.ru/add-new-hdd-ubuntu/
  
Repack deb: ar rcs newpackage.deb debian-binary control.tar.gz data.tar.gz(порядок важен! См. [Примечание])
+
При установке Ubuntu можно сразу указывать какой диск с какой файловой системой куда и как монтировать, система сама пропишет правильный конфиг в файл fstab. Если же по каким-то причинам мы это не сделали вначале, можно без проблем проделать это вручную.
  
[Примечание]: dpkg не сможет быстро прочитать метаданные пакета, если ему придется искать, где заканчивается раздел данных!
+
И так, для начала нам нужно узнать UUID идентификатор диска или его порядок в таблице разделов .
  
 +
Выполняем команду в консоли:
 +
 +
<source lang=bash>
 +
sudo blkid
 +
</source>
 +
 +
должно показать что-то похожее:
 +
 +
<source lang=bash>
 +
/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"
 +
</source>
 +
 +
Далее правим конфиг fstab, вводим в консоли:
 +
 +
<source lang=bash>
 +
sudo nano /etc/fstab
 +
</source>
 +
 +
Добавляем в конце файла строку:
 +
 +
для NTFS
 +
 +
UUID=нужный_идентификатор  /путь_к_разделу  ntfs-3g rw,users,locale=ru_RU.UTF-8 0 0
 +
 +
для FAT, FAT32
 +
 +
<source lang=bash>
 +
UUID=нужный_идентификатор  /путь_к_разделу  vfat shortname=mixed,codepage=850,umask=002,uid=1000,gid=100,noauto,user 0 0
 +
</source>
 +
 +
так же можно вместо UUID ввести порядковый номер раздела, например так:
 +
 +
<source lang=bash>
 +
/dev/sda2 /home/myuser/disk  ntfs-3g rw,users,locale=ru_RU.UTF-8 0 0
 +
</source>
 +
 +
Перегружаем систему, наслаждаемся :)
 +
 +
 +
 +
sudo gedit /etc/samba/smb.conf
 +
 +
находим секцию [global] и в неё добавляем:
 +
 +
==Правильное копирование папок==
 +
https://habr.com/ru/company/ruvds/blog/471092/
 +
 +
<source lang="bash">
 +
cp -a /source/. /target
 +
</source>
 +
 +
==samba public config==
 +
<source lang="ini">
 +
[global]
 +
workgroup = group
 +
server string = Samba server %v
 +
netbios name = server
 +
security = user
 +
map to guest = Bad Password
 +
max log size = 1000
 +
 +
[2tb]
 +
comment = public
 +
path = /media/hdd2-2tb
 +
guest ok = yes
 +
public = yes
 +
writeable = yes
 +
browseable = yes
 +
read only = no
 +
create mask = 0777
 +
directory mask = 0777
 +
force create mode = 0777
 +
force directory mode = 0777
 +
#принуждаем быть владельцем общего ресурса пользователя sambauser
 +
force user=nobody
 +
#принуждаем быть владельцем общего ресурса группу users
 +
force group=nobody
 +
 +
</source>
 
[[Категория:Raspberry Pi]]
 
[[Категория:Raspberry Pi]]

Текущая версия на 13:48, 25 октября 2022

Новичкам в работе с 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 и права на общий доступ к ним

https://disnetern.ru/add-new-hdd-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 nano /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] и в неё добавляем:

Правильное копирование папок

https://habr.com/ru/company/ruvds/blog/471092/

cp -a /source/. /target

samba public config

[global]
workgroup = group
server string = Samba server %v
netbios name = server
security = user
map to guest = Bad Password
max log size = 1000

[2tb]
comment = public
path = /media/hdd2-2tb
guest ok = yes
public = yes
writeable = yes
browseable = yes
read only = no
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
#принуждаем быть владельцем общего ресурса пользователя sambauser
force user=nobody
#принуждаем быть владельцем общего ресурса группу users
force group=nobody