ЗаписиDpkg и автоматическая установка зависимостей

Многие сталкиваются с тем, что при установке пакета из файла а не из репозитория, зависимости автоматически не устанавливаются, когда вы выполняете команду dpkg -i имя_пакета

Сам dpkg зависимости автоматически устанавливать не умеет (насколько я знаю), но вам поможет вот такая последовательность команд:

dpkg -i имя_пакета
apt-get -f install

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

Другие полезные команды Linux можно посмотреть на странице Полезные команды Linux, которая постоянно пополняется новыми командами.

ЗаписиНастройки звука сбиваются при перезагрузке (Linux, Gnome, ALSA)

Если у вас настройки звука сбиваются при перезагрузке (например выставляются на ноль), нужно сделать следующее:

  1. Настроить колонки и микрофон на комфортный уровень
  2. В терминале (с правами администратора) выполнить команду alsactl store

Если терминал скажет что команды alsactl он не знает, возможно вам нужно установить пакет alsa-utils (это в Debian, в других дистрибутивах возможно он называется по другому).

После этих телодвижений звук должен сохраняться при выключении и перезагрузке на выставленном уровне.

ЗаписиTOP 7 поисковых фраз (ответы на вопросы)

Всем привет!

Просматривая статистику по поисковым запросам, которые приводят на мой сайт, выявил популярные вопросы.

1 – shell du посчитать количество файлов

Вероятно, вас интересует, как посчитать количество файлов с помощью команды du (disk usage). Вообще, не очень понятен смысл считать количество файлов командой du, т.к. она показывает количество используемого места на диске. Обычно я считаю количество файлов с помощью команды find. Но раз вы так хотите, то и это осуществимо.

Для начала, чтобы посчитать количество файлов, нужно вывести все файлы в выбранном каталоге командой du. Для этого служит параметр -a или –all. Нижеприведенная команда показывает все файлы в каталоге /var

du -a /var
du --all /var

Потом нужно все эти файлы посчитать. Этим займется команда wc. Эта команда печатает количество строк, слов и байт в указанном файле, но в данном случае она будет брать не файл а входной поток. Т.е. вывод предыдущей команды она воспринимает как текстовый файл, и считает в нем строки, т.к. у нас каждый файл на новой строке. Чтобы команда wc считала исключительно строки, добавляем параметр -l (–lines). Выглядеть это будет так:

du -a /var | wc -l
du --all /var | wc --lines

У меня в /var получилось 24009 файлов. Кстати, если вы хотите подсчитать суммарный размер файлов, используйте команду du с флагом -s. И чтобы вывод был не в байтах, а в человечном виде (например в гигабайтах), нужно использовать еще флаг -h. Так можно узнать суммарный размер любого каталога.

du -sh /var
du --summarize --human-readable /var

2 – наложить патч на файл linux

Как это делается было объяснено в статье Создание и наложение патчей. Если что-то не понятно, пишите там в комментарии, я отвечу. Возможно вам придется поставить пакет patch чтобы установить недостающие компоненты, если что-то не работает.

3 – не запускается web клиент openerp

Здесь нужно смотреть, какие при этом он выдает ошибки в консоли терминала. Как правило не установлены нужные модули (зависимости). Посмотрите еще раз в документации по установке на сайте OpenERP (ссылка для версии 6.0.x, для 6.1 нужны другие зависимости)

4 – bash количество каталогов

Ну, это совсем просто. Нам потребуется использовать две команды в связке. Первая выводит все каталоги в нужной папке (type=directory), вторая, уже описанная в этом посте выше, считает количество строк в выводе и выводит результат.

find /var -type d | wc -l

5 – debian denwer

Извините, но зачем вам denwer на debian, когда полноценный веб-сервер ставится за одну минуту? Точно не уверен, но мне кажется что denwer под debian не существует, по крайней мере необходимости в нем на linux нет. Наберите команду:

aptitude update && aptitude install apache2 php5 mysql-server php5-mysql

можно еще добавить нужные вам библиотеки, например я обычно еще добавляю php5-gd для уменьшения изображений.

6 – linux bash shell команды

Постоянно обновляемый и пополняемый список полезных linux bash shell команд приведен на странице Полезные команды Linux

7 – кто работал с openerp

OpenERP сообщество в России еще не особо большое. Можно посмотреть в российской ветке форума OpenERP.

Еще есть arterp.ru – по ссылке имеется список клиентов с успешными внедрениями в России. Еще посетите wiki.arterp.ru, там есть инструкции со скриншотами и красивые схемы движения материалов :)

Блоги наших зарубежных коллег:
http://mohsinpage.wordpress.com/category/openerp/
http://www.zbeanztech.com/blog

С OpenERP также работаю я :)

  • мои записи по OpenERP можно посмотреть в этом блоге по тегу openerp.
  • написанные мной модули и патчи к OpenERP можно посмотреть на GitHub.

С OpenERP можешь начать работать и ты! Дерзай и все получится.

ЗаписиBash команда watch

Потребовалось в реальном времени видеть количество файлов в папке, чтобы видеть как они прибавляются и сколько еще ждать.

Нашел полезную команду watch, которая через заданный интервал повторяет нужную вам команду и отображает ее результат. Используется так:

watch -n количество_секунд "ваша команда"

В моем случае получилось так:

watch -n 1 "ls -1 | wc -l"

Посмотреть другие полезные команды Linux можно на странице Полезные команды Linux

ЗаписиПолезные команды Linux

Здесь я буду собирать нужные и полезные мне shell (bash) команды, потому что обычно со временем они забываются, и потом, когда они снова нужны, я уже не могу их вспомнить. Эта запись будет обновляться каждый раз, как я буду сталкиваться с полезными командами.

#Выводит (не рекурсивно) количество файлов и папок в текущей папке. Первая команда выводит по одному файлу
#в строку, а вторая считает количество этих строк. Здесь не учитываются скрытые файлы, начинающиеся с точки.
#Хотите их тоже учитывать - вместо ls -1 напишите ls -al, но не забудьте из результата вычесть 2, т.к. в выводе
#первые две строки займут текущий каталог и каталог-родитель (. и ..)
ls -1 | wc -l
 
#То же что и выше, только включая скрытые файлы и каталоги . и .., т.е. реальное количество всех файлов в папке
#будет на 2 меньше, чем выведет команда
ls -1a | wc -l
 
#Считаем, сколько места на диске занимает каталог. Выводим в человечном виде - не в байтах, а в Мб или Гб.
du -sh /var
 
#Кладем папку в архив .tar.gz, который создается в текущем каталоге
tar cvfz archive.tar.gz dir_name
 
#Распаковываем содержимое архив .tar.gz в текущий каталог
tar xvfz archive.tar.gz
 
#Просмотр файла с возможностью скроллинга вверх и вниз
less file.txt
 
#Просмотр последних записей в лог-файле
tail file.txt
 
#Просмотр скорости чтения диска
hdparm -t /dev/sda
 
#Создать патч
diff -uN file.orig file.new > file.patch
 
#Наложить патч
patch file.orig < file.patch
 
#Просмотр количества файлов в папке с обновлением в реальном времени
watch -n 1 "ls -1 | wc -l"
 
#Количество подкаталогов в указанном каталоге
find /var -type d | wc -l
 
#Автоматическая установка зависимостей при установке пакета из файла с помощью dpkg
dpkg -i имя_пакета
apt-get -f install

ЗаписиМой боевой набор для веб-разработки на PHP

Конечно, в первую очередь мозги, глаза и руки :)

Но есть еще несколько вещей:

  • PC: стационарный, с операционной системой Debian Linux и монитором >= 17″
  • локально установленные Apache, MySQL, PHP, phpMyAdmin adminer.php для тестирования написанного кода
  • IDE: NetBeans
  • Git через SmartGit
  • частенько выручает терминал

 

Когда-то, лет 5 назад, у меня стояла WindowsXP, Denwer и Notepad++. Если сейчас ваш набор примерно такой – советую переосмыслить свои взгляды на удобную веб-разработку. Конечно, ничего ужасного нет и в этом варианте, но поработав в нормальной IDE и заточенной под веб операционной системе, как-то совсем не возникает желания хотя бы на секунду поменять все назад :)

ЗаписиBash скрипт для дампа MySQL баз

У каждого владельца веб-сервера с базами данных MySQL встает вопрос о резервном копировании. Конечно, это можно делать вручную, например через phpMyAdmin или утилиту mysqldump, но зачем, если можно поставить в Cron на автоматическое выполнение? :)

Ниже представляю мой вариант (его выдача гораздо человечней, чем у большинства простеньких bash скриптов).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh
NAME=mysql
PERIOD=day
 
DIR=/var/backup/
 
BASES="base1
base2
base3
base4
base5"
 
USER=root
PASSWD="password"
 
 
##### BACKUP NOW #####
 
backupDB() {
        echo -n "Dumping $BASENOW..."
        ((mysqldump -u $USER -h localhost -p$PASSWD $BASENOW | gzip -c > $DIR$PERIOD.$NAME.$BASENOW.sql.gz) \
        && echo -n "ok "; du -h $DIR$PERIOD.$NAME.$BASENOW.sql.gz | awk '{print($1)}') \
        || echo "ERROR!!!"
 
}
 
echo -e "\n## Dumping MySQL Databases ##"
 
for BASENOW in $BASES
do
        backupDB
done