Архив заметок

FAQ

Просмотров: 5296Комментарии: 0

Дабы не плодить посты по некоторым вопросам, решил сделать небольшой FAQ или ЧаВо. Многие вопросы и ответы на них были найдены на просторах интернета, и теперь собраны тут для своих нужд. В каждом ответе указан источник автора.

Узнать размер папки во FreeBSD

  1. Для того что бы узнать размер папки во FreeBSD[sup]отсюда[/sup], необходимо ввести команду du с опциями -hsx и указанием папки например /usr/home/vasya
  2. # du -hsx /usr/home/vasya
  3. Для того что бы визуально посмотреть какой размер имеют папки в корневой директории не обязательно вводить команду для каждой папки , существуют специальные ключи, смотрим пример:
  4. # du -h -d 1 /

К списку

Поиск текста в файлах FreeBSD c помощью grep

grep -rl 'пишем что искать' /каталог/где/искать/

Поиск по шаблону

Для поиска по шаблону в текстовых файлах используется набор команд grep. Существует три разных команды: стандартная программа grep, которая ищет вхож-дение строки по простому шаблону, egrep, поддерживающая регулярные выражения, и fgrep, которая производит поиск указанных строк. В справочных руководствах некоторых ранних версий UNIX fgrep расшифровывалось как “fast grep” (быстрая grep), поскольку предполагалось, что эта команда быстрее, чем стандартная grep. На самом деле fgrep почти всегда работает медленнее, чем grep.

Предположим, что в текстовом файле textfile нужно найти вхождение строки cat. Для этого можно воспользоваться командой grep в простейшем формате:

grep cat textfile

Эта команда выводит на экран каждую строку файла, содержащую подстроку cat. Обратите внимание, что команда ищет вхождение шаблона, а не отдельные слова. Это значит, что такому критерию поиска удовлетворяет не только слово cat, но и catnip, catbird, catfish и concatenate, поскольку в каждом из них содержится подстрока cat. Если же нужно найти именно слово, необходимо окружить его пробелами и заключить весь шаблон в кавычки:

grep " cat " textfile

Работа с командным интерпретатором

Распространенные опции grep: -i — поиск без учета регистра, -с — не выводить строки с вхождениями шаблона, а напечатать только количество вхождений в файле, -n — выводить номер каждой строки с вхождением (и саму строку), -v — обратить операцию и выводить строки, не включающие указанный шаблон.

Источник.

К списку

Portmaster и восстановление убитой /var/db/pkg

Как-то раз я снес всю папку /var/db, включая БД от мускула smile Это произошло на домашнем тазике, баз особых не было, благо. И, конечно, кроме бд полетели базы собранных пакетов. Пришлось все пакетики восстанавливать с нуля, хотя они и были в системе, но инфы о них уже не было.

Чтобы пересобрать порт и все его зависимости:

# portmaster -fR www/apache22

Посмотреть какие зависимости установлены, а какие надо доустановить:

# portmaster --show-work www/apache22
===>>> Currently installed version: apache22-2.2.23_3
===>>> Port directory: /usr/ports/www/apache22
===>>> Starting check for all dependencies
===>>> Gathering dependency list for www/apache22 from ports
===>>> Installed converters/libiconv
===>>> Installed databases/db42
===>>> Installed databases/gdbm
===>>> Installed devel/apr1
===>>> Installed devel/autoconf
===>>> Installed devel/autoconf-wrapper
===>>> Installed devel/automake
===>>> Installed devel/automake-wrapper
===>>> Installed devel/gettext
===>>> Installed devel/gmake
===>>> Installed devel/libtool
===>>> Installed devel/m4
===>>> Installed devel/p5-Locale-gettext
===>>> Installed devel/pcre
===>>> Installed lang/perl5.16
===>>> Installed lang/python27
===>>> Installed misc/help2man
===>>> Installed ports-mgmt/pkg
===>>> Installed textproc/expat2

Эти 2 команды могут помочь при восстановлении убитой базы. Я сделал резервную копию /usr/local/etc папки и снес ее, после этого переустановил все пакеты, которые были в системе и восстановил обратно содержимое папки etc.

Еще более радикальный вариант. Пересборка всех установленных ранее портовтут:

  1. portmaster --list-origins > ~/installed-port-list
  2. Обновите порты
  3. portmaster -ty --clean-distfiles
  4. portmaster --check-port-dbdir
  5. portmaster -Faf
  6. pkg_delete '*'
  7. rm -rf /usr/local/lib/compat/pkg
  8. Сделайте резервную копию каталога /usr/local, например файлов конфигурации /usr/local/etc
  9. Проверьте каталоги /usr/local и /var/db/pkg, удостоверьтесь, что они действительно пустые.
  10. Переустановите portmaster
  11. portmaster `cat ~/installed-port-list`

К списку

Добавить/Удалить пользователя из/в группы(у)

Добавить юзера в группу:

# pw usermod username -G groupname

Удалить из группы:

# pw groupmod groupname -d username

К списку

Узнать сетевой траффик по интерфейсу

# systat -ifstat 1

К списку

Вы можете войти под своим логином или зарегистрироваться на сайте.