<--- index            01-30            31-60 --->
LINUX
index-pic





 1

Когда то начинал "компьютерщиком"  в "дальнем забугорье".
Компьютеры, интернет, роутеры тогда (2001 год) были дороговаты,
и вечный был шум-гам по поводу кто сидит на единственной официальной "точке доступа".
(До WiFi  еще было ... так что "точка доступа" была реально "точкой для одного"...)
А тут под списание подошел  Пентиум   кажется 200, но еще не ММХ,
помню "убитый" разъем   клавиатуры пришлось перепаивать.

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

В районе 2006 года мне говорят, что меня ищут
"в связи с претензиями с прежнего места работы".
Подхожу - Что за дела?
А мне говорят:
- Вы там устройство установили и оно жужжит!
Начинаем разбираться и ....
Выясняется, что этот списанный давным давно компьютер,
отмолотил все эти годы без выключения,
при этом на "лишний хвост" подсела уже "подсеть"...
А "жужать" начал вентилятор на процессоре ...

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

 Пять лет uptime !




 1


 2


rename


Что меня бесит в Linux ,  так это изменения в утилитах.
Для человека, который годами не отслеживает изменения, порой  появляются удивительные открытия
Итак была команда для переименований - rename ...
Прошли десятилетия и я, как "эпизодический юзер",  обнаруживаю, что ничего не понимаю ...
Команда есть ... но не работает и твориться что то непонятное.

В результате проведенных следственных мероприятий установлено:

rename.ul  - "старый" rename
Простой интерфейс, ничего лишнего, а функционала для любителей - вполне достаточно:

rename.ul will rename the specified files by replacing the first occurrence of from in their name by to.

For example, given the files
    foo1, ..., foo9, foo10, ..., foo278, the commands

        rename.ul foo foo0 foo?
        rename.ul foo foo0 foo??

will turn them into foo001, ..., foo009, foo010, ..., foo278.

первая строка rename.ul foo foo0 foo? - добавит 0 к файлам с цифрами 0-9,
и количество цифр в имени файлов станет - две или три,

вторая строка rename.ul foo foo0 foo?? - добавит еще один ноль в "двух цифровые" имена
и все названия станут с тремя цифрами)


rename.ul .htm .html *.htm    <- will fix the extension of your html files.

https://linux.die.net/man/1/rename



rename - "новый" rename.
Сделан на базе Perl и что бы понять его интерфейс,
например, почему так:
rename 's\.htm/\.html/' *
читайте документацию на Perl ....

https://www.maketecheasier.com/rename-files-in-linux/


Using the rename command

This command is slightly more advanced than mv because it requires the knowledge of, or at least a basic familiarity with regular expressions.
That may sound scary, but don’t give up on rename just yet – it can be used for plain batch renaming simply by following tutorials like this one.

The rename syntax looks like this:

rename (option) 's/oldname/newname' file1.ext file24.ext

The letter “s” stands for “substitute” and it’s the main part of the regular expression.
Single quotes around it are obligatory.
Available options are

    “-v” (verbose; prints the list of renamed files along with their new names)
    “-n” (“no action”; a test mode or simulation which only shows the files that will be changed without touching them)
    “-f” (a forced overwrite of the original files)

The rename command also accepts wildcards to rename multiple files of the same type,
and it works on file extensions as well.

For example, this would change all files with the extension .jpeg to .jpg:
rename 's\.jpeg/\.jpg/' *
The wildcard symbol (*) means that all files in the folder will be affected.

The regular expression also has its own options (modifiers):
“g” (global; affects all occurrences of the expression) and
“i” (performs case-insensitive substitution).
They are written at the end of the expression, just before the closing single quote, and can be combined:

rename -n 's/DSC/photo/gi' *.jpg

This would apply to all .jpg files that contain “DSC”, “dSC”, “dsc”… and change that part of the filename to “photo”.
However, because of the “-n” option, the command wouldn’t actually rename the files but just print them in the console window.

Substitution is not the only thing that this regular expression can do.
There’s also translation – marked by the letter “y” – which can transform the filenames on a more complex level.
It is most often used to change the filename case:

rename 'y/a-z/A-Z/' *.jpg

This would change the names of all .jpg files from lowercase to uppercase.
To do it vice-versa, just switch the “oldname” and “newname” parts of the regular expression.

Using the rename command boils down to mixing a few basic patterns to achieve the desired result.
Thanks to the “-n” option the users will never have to put their files at risk (or their nerves at stake),
since it offers a safe and useful preview of what the renamed files will look like.

-----

rename 'our $i; $i++; s/\./$i\./' *
NAME        rename - rename files
SYNOPSIS      rename [options] expression replacement file...
DESCRIPTION       rename  will  rename  the specified files by replacing the first occurrence of expression in their name by replacement.

rename 'no strict; $_=sprintf  "image%03d.jpg",$i++' *.jpg

------


pyRenamer – the easy way out

Finally, the solution that all the anti-console users have been waiting for:
a desktop application where everything can be done with a simple click of the mouse.
pyRenamer is a crazy-powerful file renaming tool written in Python.



Выборы республиканца Д.Трампа:
 2



 3

AltLinux
Установка и удаление программ.

Видеоролик можно скачать по адресу:
http://salomatin.ru/box-L5.ogv
http://youtu.be/ZsbHf6Tr1xQ


Устанавливаем пакеты.
Обновляем сведения о пакетах для apt-get. Вводим в любом случае, хуже от этого не будет, зато система всегда будет иметь самые свежие данные по пакетам.

[root@server ~]#apt-get update

Пояснение: update используется для повторной синхронизации файлов описаний пакетов с их источником. Описания доступных пакетов будут получены из источников, указанных в /etc/apt/sources.list

Для теста установим полезную программку для проверки открытия портов nmap:
Выполняем полный поиск текста по всем доступным файлам пакетов по заданному шаблону

[root@server ~]#apt-cache search nmap
видим
nmap - Network exploration tool and security scanner

Проверяем установлен ли пакет

[vova@server ~]$ rpm -qa | grep nmap
пусто
скачиваем и устанавливаем пакет

[root@server ~]#apt-get install nmap
сервер выводит

Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
nmap
0 upgraded, 1 newly installed, 0 removed and 27 not upgraded.
Need to get 0B/1194kB of archives.
After unpacking 5775kB of additional disk space will be used.
Get:1 cdrom://ALT Linux 5.0.0 Ark Server (none) main build 2009-10-26 ALTLinux/main nmap 20020501:5.00-alt2 [1194kB]
Fetched 1194kB in 0s (5376kB/s)
Committing changes...
Preparing... ###################################################### [100%]
1: nmap ###################################################### [100%]
Running /usr/lib/rpm/posttrans-filetriggers
Done.
[root@server ~]#
Все прошло удачно.
Проверяем установлен ли пакет

[vova@server ~]$ rpm -qa | grep nmap
nmap-5.21-alt2

apt-get install <package№1> <package№2> - устанавливает один или более пакетов отмеченных к установке. Пакеты будут получены и установлены.
apt-get remove <package> - удалить пакет, установленный в систему с сохранением файлов конфигурации

Скаченные пакеты хранятся в /var/cache/apt/archives

« Последнее редактирование: 14.06.2013 19:57:35 от Salomatin »
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"


 3



 4



Команда поиска  FIND

 Команда find

find рекурсивно  обходит  указанные каталоги и файлы, проверяет
для них выполнение  указанных  условий  и может вдобавок выпол-
нять с  найденными  файлами  указанные действия. Например, самое
простое действие - распечатать имя файла.

    find   файл [ ... ]   ключи/условия/действия

        Ключи-условия команды find:

  -name "*.c" - простое имя подходит под шаблон *.c
  -type f     - брать только обыкновенные файлы
  -type d     - брать только каталоги
  -size +500  - файлы размером БОЛЬШЕ 500*512 байт
  -mtime -3   - дата модификации МЕНЬШЕ 3-х дней
  -newer  filename - дата модификации нашего файла МЕНЬШЕ, чем у
                     заданного файла filename

ВНИМАНИЕ:  Команда  find  использует  стандартные  SHELL'овские
шаблоны.  Команда  grep  использует  шаблоны  другого  формата,
называемые регулярными выражениями.

        Ключи-действия команды find

  -print      - просто распечатать маршрутное имя файла
  -exec команда над файлом {} \;

        Пример.

Напечатать имена всех обыкновенных Си-шных файлов, изменившихся
за последние 4 дня в текущем каталоге и его подкаталогах.

    find . -type f -mtime -4 -print

Уничтожить  все  файлы с окончаниями *.bu, *%, которые не меня-
лись больше месяца.

    find   / \( -name "*.bu" -o -name "*%" \) -type f    \
    -atime +30 -exec  rm  {} \;

запись "rm {} \;"  - обозначает команду Unix, которая будет вы-
полняться для всех  таких  найденных файлов. Вместо значка "{}"
будет подставляться каждый раз имя найденного файла. Естествен-
но, что таким образом мы их все и уничтожим.



 4


 5



    Команда поиска GREP

    Команда grep/egrep

"фильтрует" строки - оставляя только "подходящие" под шаблон

    egrep шаблон  [ file ... ]

В  шаблон  могут  входить  обыкновенные символы (представляющие
сами себя),  а  также  -  спецсимволы,  выполняющие  служебные
функции шаблона: . * ^ $ [ ]

    .        - любой произвольный символ
    *        - "множитель" (предыдущий символ любое число раз)
    .*       - любая последовательность символов
    ^шаблон  - привязываем шаблон к началу строки
    шаблон$  - привязываем шаблон к концу строки
   [символы] - любой один символ из тех, что стоят в скобках

Вывести всех привелигированных пользователей:

    egrep ':0:0:' /etc/passwd

Вывести всех непривелигированных пользователей:

    egrep -v ':0:0:' /etc/passwd

Вывести  всех  пользователей,  имена  которых начинаются с букв
a,b,e,d

    cat /etc/passwd | grep "^[abed].*"





 5


 6


http://www.fail2ban.org - скрипт блокировки соединений
http://www.gpsdrive.de - GPS
http://launchpad.net/kicad  - mini CAD

Darktable -- программа для обработки raw для фотографов




 6



 7

Скачивание полной версии сайта для просмотра без  Инета
или для редактирования на своем компьютере.
(Это версия для  Linux   Для   Windows  )

wget - помните такую программу ? Интерфейс прост





+ раз в десять лет пытаюсь применять для скачки    curl - которая качает только одиночные файлы  ...



 7


 8

Добавление жесткого диска в систему.
Обычная ситуация когда при установке системы не добавили раздел в директорию  /home
или когда мы хотим  добавить жесткий диск в систему
(например  чтобы Transmission  качая torrent  незавершенные файлы держал на одном винте,
а завершенные  переносил на другой).

Тут рассматриваем версию с директорией /home
в случае, когда мы привыкли, что старт системы идет  в графической оболочке (X -ах)

Сначала разбираемся с разделами диска.
по умолчанию считаем, что в ноутбуке у нас ЖМД один  - /đev/sda

1-ый вариант
Запускаем  gparted
Это графическая утилита
Правый верхний угол - выбор диска.
Тут сразу виден  тип файловой системы и точка монтирования

 8


В данном случае  раздел /dev/sda1  - / корневой
/dev/sda2    и     /dev/sda7  - Windows    /dev/sda3  - расширенный      /dev/sda5  - раздел подкачки
а вот  /dev/sda6  - линуксовый раздел никуда не примонтирован.

как вариант - у вас будет не размеченная область - создавайте раздел Linux   и  форматируйте его в ext4


 9

2-й  вариант.

Тоже самое попытаемся сделать в терминале.
Запустили терминал,
по команде  su  перешли в режим суперпользователя

Ищем, какой раздел используется  Линукс в качестве корневого

[root@comp]# mount /

mount: /dev/sda1 is already mounted or / busy
       /dev/sda1 is already mounted on /

запоминаем, что /dev/sda1  - корневой каталог

как вариант  можно ввести  mount без слэша,
[root@comp]# mount
но тогда высыпется куча лишней информации и надо будет найти что то вроде:
/dev/sda1 on / type ext4 (rw,relatime,data=ordered)  - что "в переводе" будет означать:
устройство /dev/sda1 смонтировано в  / тип системы (ключи монтирования) -  ext4 (rw,relatime,data=ordered)

теперь запускаем fdisk , что бы найти непримонтированные разделы
[root@comp]#/sbin/fdisk /dev/sda
когда появиться надпись
Команда (m для справки):
вводите  p  (partitions)
Ищите Линукс разделы , кроме известного нам  /dev/sda1
в моем случае это
/dev/sda6              184199168 567173119 382973952 182,6G            83 Linux

для выхода из fdisk
в окне
Команда (m для справки):
вводите  q  (quit)

 9


 10

Вариантом № 1 или № 2 - мы узнали что у нас есть раздел  /dev/sda6    отформатированный в  ext4


Тут есть нюанс.
Если вы не уверены в себе или вам есть что терять,
то лучше в своей домашней директории создать точку монтирования ,
например (если вы - user)
/home/user/100g
и все дальнейшие действия делать над ней.
в этом случае ваши ошибки не "стукнут" по системе.
Решайте.
Действий в принципе  не много:
сделать себя "собственником"  диретории  /100g
это можно сделать запустив командой  mc   Midnight Commander
[root@comp]#mc
Файл  =>  Владелец/группа   


далее  необходимо сделать автомонтирование при старте системы
для этого  редактируем  файл  /etc/fstab
это можно  в том же Midnight Commander,
открыв его  на редактирование клавишей F4
или редактором nano
[root@comp]#nano /etc/fstab

там надо снизу  добавить строку
/dev/sda6            /home/100g        ext4                        nosuid,relatime    1    2
кратко:
что монтируем,   куда монтируем,    тип файловой системы,  остальные ключи - см в Инет

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

Смотрим результат команды

[root@comp]# mount /dev/sda6


должно выпасть:
mount: /dev/sda6 is already mounted or /home/100g busy
       /dev/sda6 is already mounted on /home/100g
[root@comp]#

т.е. система примонтировала   /dev/sda6 в  /home/100g
и им можно пользоваться, зная что он "большой".
Подвиг.
Ура !


А теперь  путь джедая
 нам надо сложить на  /dev/sda6  содержимое директории   /home  и сделать автомонтирование при старте системы.
создаем директорию для монтирования в каталоге /mnt
и монтируем туда злополучный /dev/sda6, т.е. выполняем :

[root@comp]# mkdir  /mnt/sda6
[root@comp]# mount /dev/sda6  /mnt/sda6

теперь запустив командой  mc   Midnight Commander
[root@comp]#mc

переносим содержимое /home 
(не всю директорию, а именно содержимое!)
в директорию  /mnt/sda6
с сохранением атрибутов файлов (галочка должна стоять)
Выходим


Далее  необходимо сделать автомонтирование при старте системы
для этого  редактируем  файл  /etc/fstab
это можно  в том же Midnight Commander,
открыв его  на редактирование клавишей F4
или редактором nano
[root@comp]#nano /etc/fstab

там надо снизу  добавить строку
/dev/sda6            /home               ext4                              nosuid,relatime    1    2
кратко:
что монтируем,   куда монтируем,    тип файловой системы,  остальные ключи - см в Инет

больше ничего не трогаем,
выходим с сохранением изменений

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

Если старт прошел нормально и
[root@comp]# mount /dev/sda6
выдал:
mount: /dev/sda6 is already mounted or /home busy
       /dev/sda6 is already mounted on /home
[root@comp]#

Поздравляю тебя идущий путем   джедая !
И да прибутет в тобой  Сила !



P.S.

Перенос Linux на другой диск  командой dd  -  (не совсем правильно, но  весьма джедайски ... )


 


P.P.S.
контроль за доступным пространством
df - команда которая позволяет увидеть  свободное пространство на примонтированных дисках
Пример  вывода
[user@comp]$ df
 10




 11
Редактора звука Audacity 2.2.2, предоставляющего средства для редактирования звуковых файлов (Ogg Vorbis, FLAC, MP3 и WAV), записи и оцифровки звука, изменения параметров звукового файла, наложения треков и применения эффектов (например, подавление шума, изменение темпа и тона). Код Audacity распространяется под лицензией GPL, бинарные сборки доступны для Linux, Windows и macOS.

 11







 12
 12



 13
 13



 14
 14



 15
 15



 16
 16



 17
 17



 18
 18



 19
 19



 20
 20


 21
 21

 22
 22





 23
 23


 24
 24


 25
 25

 26
 26




 27
 27



 28
 28



 29
 29




 30
 30



Gaining knowledge is the first step to wisdom.
Sharing it is the first step to humanity.


===============================
Следующая точка

index
=====================
Линия возврата

Плоскость охвата

Сингулярность

.