четверг, 16 апреля 2015 г.

valgrind

Устанавливаем valgrind:

sudo apt-get install valgrind

Запускаем программу для отладки через valgrind:

valgrind --leak-check=full --leak-resolution=med --log-file=memory.log ./CameraConnector 1

Общие сведения о профилировщиках и анализаторах памяти:
1) http://alexott.net/ru/linux/valgrind/index.html
2) valgrind http://alexott.net/ru/linux/valgrind/Valgrind.html
3) google performance tools http://alexott.net/ru/linux/valgrind/GooglePT.html

valgrind:
1) http://valgrind.org/docs/manual/quick-start.html
2) https://eax.me/valgrind/

Вики:

воскресенье, 12 апреля 2015 г.

Замена подстроки в поле varchar PostgreSQL

Запускаем psql из командной строки. Чтобы не приходилось вводить полный путь к psql, добавляем путь к установленной папке bin (у меня D:\Program Files (x86)\PostgreSQL\9.3\bin) в переменную окружения (на русской Windows 7 путь к настройкам Панель управления\Система и безопасность\Система\Защита системы\Дополнительно\Переменные среды) поиска PATH у активного пользователя или в глобальные настройки:
psql --username=db_user --dbname=video_base

Замена подстроки в поле таблицы: надо стандартный путь в файловой системе линукс (/media/Data/.../file1.jpg) поменять на виндовый путь (D:\...\file1.jpg). Правильнее конечно было бы хранить в базе путь до файлового архива и относительные пути к картинкам, вместо одного пути абсолютного.

Сначала удаляем слева подстроку:
video_base=> UPDATE video_data SET filename = trim (leading '/media/Data/Temp/' from filename);

Добавляем слева нужную базовую строку:
video_base=> UPDATE video_data SET filename = concat('F:/Data/image/', filename);

Уходим:
video_base=> \q

Использован материал статей:
1) http://postgresql.ru.net/manual/functions-string.html

четверг, 2 апреля 2015 г.

Автоматическое монтирование NTFS-разделов в Ubuntu и Fedora

По умолчанию NTFS-разделы, как и флешки, монтируются в директорию /media/<имя пользователя>/<название диска> (например, у меня /media/adil/Data) по первому нажатию на соответствующей клавише в левой панели Unity c правами только на чтение и запись для владельца. Мне необходимо иметь автоматическое монтирование в папку /media/<название диска> (/media/Data) c полными правами на чтение, запись и выполнение для всех.

Автоматически монтируемые файловые системы перечислены в файлен /etc/fstab. У меня он имеет вид:

# <file system> <mount point>  <type>  <options>  <dump>  <pass>
UUID=cecd69af-7698-4428-9016-5ff1a4b67251 / ext4 errors=remount-ro 0 1
UUID=3cfd2254-05ce-4572-9ad8-22075135fb4f none swap sw 0 0


Для того, чтобы узнать UUID логических дисков выполняем sudo blkid в консоли:

/dev/sda1: LABEL="WindowsBoot" UUID="E280AF2E80AF085D" TYPE="ntfs"
/dev/sda2: LABEL="Win7" UUID="BC74BCE074BC9F18" TYPE="ntfs"
/dev/sda3: UUID="cecd69af-7698-4428-9016-5ff1a4b67251" TYPE="ext4"
/dev/sda5: UUID="3cfd2254-05ce-4572-9ad8-22075135fb4f" TYPE="swap"
/dev/sda6: LABEL="Data" UUID="3EEADC473914B9EA" TYPE="ntfs"
/dev/sdb1: LABEL="SANDISK" UUID="E852-87E4" TYPE="vfat"


Мне хочется, чтобы диск Data автоматически монтировался в /media/Data. Мы выбираем папку /media вместо /mnt, так как в первой Unity автоматически ищет новые логические диски и автоматически создаст ссылку в левой панели. В консоли создаем папку для монтирования sudo mkdir /media/Data. Редактируем файл /etc/fstab sudo nano /etc/fstab. Для диска Data добавляем следующую строку в конец файла:

UUID=3EEADC473914B9EA /media/Data ntfs exec,auto,rw,suid 0 0

Делаем себя владельцем директории, к которой будет монтироваться логический диск. Таким пользователь становится владельцем всех папок и файлов из примонтированного NTFS-раздела:

sudo chown adil:adil /media/Data

В системе с виндой и федорой/убунту ntfs-раздел с данными может после некорректного выхода из винды под линуксом монтироваться с типом fuseblk  в режиме readonly. Чтобы примонтировать readwrite, надо зайти в винду и корректно завершить работу. После этого диск корреткно примонтируется под линукс. Описание - https://askubuntu.com/questions/70281/why-does-my-ntfs-partition-mount-as-read-only

При написании использованы следующие источники:
1) Ubuntu https://help.ubuntu.com/community/MountingWindowsPartitions
2) Ubuntu http://kubuntu.ru/node/1495
3) Ubuntu http://ubuntulogy.org/docs/fs/75
4) Ubuntu https://www.liberiangeek.net/2012/04/auto-mount-windows-ntfs-partitions-in-ubuntu-12-04-precise-pangolin/
5) Ubuntu https://help.ubuntu.com/community/Fstab
6) RHEL https://linuxtechlab.com/how-to-mount-ntfs-drives-on-linux-easily/