Восстановить поврежденные файлы на флешке фотоаппарата CompactDisk очень помогли программы testdisk и photorec. Точнее photorec, которая не просто находит файлы на диске, но и пытается расспознать их содержимое. Причем поддерживаемых форматов более сотни (вот список http://www.cgsecurity.org/wiki/File_Formats_Recovered_By_PhotoRec). Обе программы входят в состав testdisk, т.е. для установки достаточно:
$ sudo apt-get install testdisk
Запускать желательно с помощью sudo:
$sudo testdisk
и
$sudo photorec
вторник, 11 декабря 2012 г.
пятница, 7 декабря 2012 г.
Ubuntu + ST-Link + MDK-ARM
Для установки ST-Link необходимо выполнить следующую последовательность команд:
$mkdir ~/temp
$cd ~/temp
$sudo apt-get install git libusb-dev
$git clone git://github.com/texane/stlink.git
$cd stlink
$sh autogen.sh
$./configure
$make
$sudo mkdir /opt/texane
$cd gdbserver
$make
$sudo cp st-util /opt/texane
$sudo cp 49-stlinkv1.rules /etc/udev/rules.d
$sudo cp 49-stlinkv2.rules /etc/udev/rules.d
$sudo udevadm control --reload-rules
Если после команды:
$sh autogen.sh
Возникает ошибка:
./autogen.sh: 2: autoreconf: not found
то необходимо установить паке autoconf:
$sudo apt-get install autoconf
Команда, чтобы стереть память микроконтроллера:
~/temp/stlink/st-flash erase
Команда для прошивки микроконтроллеров:
~/temp/stlink/st-flash write путь адрес
где:
- путь - путь к двоичному файлу прошивки (*.bin)
- адрес - шестнадцатеричный адрес в памяти (для STM32 0x08000000)
Также с помощью утилиты st-flash можно считывать данные, если вместо write указать read с полем начального адреса и объемом данных для считывания в байтах.
Если для компиляции и сборки проекта используется MDK-ARM, то получить бинарный файл можно с помощью утилиты FromElf.exe. Для этого необходимо добавить в свойствах проекта на вкладке User в секции "Run User Program After Build/Rebuild" строчку:
FromElf.exe --bin --output путь_к_bin_файлу путь_к_axf_файлу
Например, если все файлы находятся в одном каталоге, то:
FromElf.exe --bin --output program.bin YoutProjectName.axf
Links:
http://we.easyelectronics.ru/CADSoft/st-link-eclipse-na-ubuntu.html
http://bravikov.wordpress.com/2012/11/19/st-link-mdk-arm-linux/
пятница, 30 ноября 2012 г.
VirtualBox: resize hard dist in Linux
To resize a VirtualBox hard disk image (.VDI) firstly locate the folder where the .vdi you want to resize is located - this should be under ~/VirtualBox VMs or ~/.VirtualBox/HardDisks. Then open a terminal, navigate to that folder ("cd /FOLDER/PATH") and run the following command to resize the .VDI:
VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB
Where YOUR_HARD_DISK.vdi is the VirtualBox hard disk you want to resize and SIZE_IN_MB is the new virtual hard disk size, in megabytes. For example, the following command will resize the VirtualBox hard disk called "natty.vdi" to 12000 megabytes:
VBoxManage modifyhd natty.vdi --resize 12000
That's it! The process takes just a few seconds and you should now have a resized VirtualBox hard disk.
понедельник, 5 ноября 2012 г.
CorelDraw не правильно открывает файлы SVG из Inkscape
Столкнулся с ситуацией, когда CorelDraw неправильно открывает SVG файлы созданные в Inkscape. В частности рисунки превращались в набор бессвязных линий. Исправляется это сбросом галочки в настройках Inkscape "Экспорт в SVG -> Разрешить относительные координаты". И сохранять нужно в формате "Простой SVG".
воскресенье, 4 ноября 2012 г.
Определение типа памяти в Linux
Команды для работы с памятью в Linux:
$ sudo dmidecode -t memory
$ sudo dmidecode -t memory
А также ссылка на интересное описание консольных команд для мониторинга системы:
четверг, 1 ноября 2012 г.
Samba: доступ к общему каталогу
В файл /etc/samba/smb.conf добавляем:
[download]
path = /hdlogic/download
guest ok = Yes
guest only = Yes
writeable = Yes
Если вы изменили smb.conf, то чтобы smbd перегрузил его параметры надо выполнить команду:
$ sudo service smbd restart
вторник, 30 октября 2012 г.
Restart GNOME without rebooting the computer
Restart GNOME without rebooting the computer
- Save and close all open applications.
- Use the Ctrl-Alt-Backspace shortcut keys to restart GNOME.
- If Ctrl-Alt-Backspace is disabled, type
sudo /etc/init.d/gdm restart
понедельник, 29 октября 2012 г.
Как узнать IP адрес хоста в SMB сети по имени
Например:
$ nmblookup SERVER
querying SERVER on 192.168.0.255
192.168.0.50 SERVER<00>
или
$ nmblookup -A 192.168.0.50
Looking up status of 192.168.0.50
SERVER <00> - B <ACTIVE>
SERVER <20> - B <ACTIVE>
DOBROBUT <00> - <GROUP> B <ACTIVE>
DOBROBUT <1e> - <GROUP> B <ACTIVE>
DOBROBUT <1d> - B <ACTIVE>
..__MSBROWSE__. <01> - <GROUP> B <ACTIVE>
MAC Address = 00-1A-4D-94-76-1B
$ nmblookup SERVER
querying SERVER on 192.168.0.255
192.168.0.50 SERVER<00>
или
$ nmblookup -A 192.168.0.50
Looking up status of 192.168.0.50
SERVER <00> - B <ACTIVE>
SERVER <20> - B <ACTIVE>
DOBROBUT <00> - <GROUP> B <ACTIVE>
DOBROBUT <1e> - <GROUP> B <ACTIVE>
DOBROBUT <1d> - B <ACTIVE>
..__MSBROWSE__. <01> - <GROUP> B <ACTIVE>
MAC Address = 00-1A-4D-94-76-1B
Под Windows можно воспользоваться коммандой nbtstat -S, чтобы увидеть IP текущий подключений.
пятница, 26 октября 2012 г.
Редактирование элементов управления форм в Excel
Как-то попался документ Excel сгенерированный с помощью макроса, в котором невозможно было никак отредактировать некоторые ячейки. Снятие защиты от записи ничего не давало. После долгих мучений выяснилось, что это были не ячейки, а элементы управления формы, к тому же с установленной защитой от записи. Таким образом, чтобы изменить такой элемента в Excel 2010 необходимо выполнитеь следующие действия:
1. Файл => Параметры => Настройка ленты => Основные владки => Разработчик (поставить галочку). На ленте появится вкладка разработчик. Перейти на нее и включить "Режим конструктора". Между прочим на этой же вкладке есть кнопка "Макросы" для редактирования макросов.
2. Перейти на вкладку "Рецензирование" и снять защиту с листа.
3. Теперь можно выбрать элементы формы, вызвать меню правой кнопкой мыши и выбрать "Edit" для редактирования этого элемента.
Между прочим, Label нельзя редактировать из документа (если не войти в режим конструктора), поэтому, если данные в этих элементах необходимо редактировать впоследствии, то лучше переделать их в TextBox. Но надо учесть, что в Label текст заносится в Capture, а в TextBox в свойство Text (т.е. TextBoxName.Text)
1. Файл => Параметры => Настройка ленты => Основные владки => Разработчик (поставить галочку). На ленте появится вкладка разработчик. Перейти на нее и включить "Режим конструктора". Между прочим на этой же вкладке есть кнопка "Макросы" для редактирования макросов.
2. Перейти на вкладку "Рецензирование" и снять защиту с листа.
3. Теперь можно выбрать элементы формы, вызвать меню правой кнопкой мыши и выбрать "Edit" для редактирования этого элемента.
Между прочим, Label нельзя редактировать из документа (если не войти в режим конструктора), поэтому, если данные в этих элементах необходимо редактировать впоследствии, то лучше переделать их в TextBox. Но надо учесть, что в Label текст заносится в Capture, а в TextBox в свойство Text (т.е. TextBoxName.Text)
вторник, 23 октября 2012 г.
Установка AVR Studio в Ubuntu
Основная статья: http://easyelectronics.ru/avr-studio-v-linux.html
Мне понадобилось только:
Мне понадобилось только:
#ln -s /dev/ttyUSB0 <home_dir>/.wine/dosdevices/com1
List of installed packages in Ubuntu/Debian
Как создать список установленных пакетов в Debian (Ubuntu).
Для того, чтобы создать список установленных в Debian (Ubuntu) пакетов можно воспользоваться следующей утилитой:
$ dpkg --get-selections > installed_programs.txt
$ dpkg --get-selections > installed_programs.txt
Можно также записать в файл краткую информацию о пакетах (версия пакета и краткое описание):
$ COLUMNS=150 dpkg -l > packages.txt
Теперь все эти пакеты можно установить на другом компьютере (или на этом же, после переустановки). Для этого устанавливаем Debian (Ubuntu) по умолчанию, и после установки выполняем следующую операцию, предварительно скопировав на этот компьютер файл installed_programs.txt:
$ sudo dpkg --set-selections < installed_programs.txt
и дальше
или
$ sudo apt-get -u dist-upgrade
или
$ sudo apt-get dselect-upgrade
Link:
http://linux-ru.blogspot.com/2007/01/debian-ubuntu.html
UPD1: чтобы проверить наличие какого-либо пакета в репозиториях достаточно набрать:
$ aptitude search часть_имени_пакета
вторник, 16 октября 2012 г.
Setting SQUID on Ubuntu 12.04 and connect it via other proxy.
1. Execute follow instruction: http://ubuntuserverguide.com/2012/05/how-to-install-and-configure-proxy-server-with-squid3-on-ubuntu-server-12-04-lts.html
Installing Squid3
2. I change follow string :
acl localnet src 192.168.0.0/24 #Your network here
......
http_port 8080
2. Add string (from: http://wiki.squid-cache.org/Features/CacheHierarchy):
chache_peer 192.168.0.20 parent 8080 0 no-query default
never_direct allow all
Installing Squid3
Log in on Ubuntu Server, then type command below to Install squid2 in ubuntu server 12.04:
sudo apt-get install squid3 ccze
Configure Squid3
Create directory for Cache, on this case cache directory placed on directory /home/precise/cache/. Then change the permissions cache directory to 777 and owner proxy:proxy
sudo mkdir -p /home/precise/cache/
sudo chmod 777 /home/precise/cache/
sudo chown proxy:proxy /home/precise/cache/
Before editing squid configuration, Make a backup of your /etc/squid3/squid.conf file for future reference. Squid.conf has nearly all the options listed and it is recommended to go through that file to know more about squid options.
sudo cp /etc/squid3/squid.conf /etc/squid3/squid.conf.origin
sudo chmod a-w /etc/squid3/squid.conf.origin
Now edit /etc/squid3/squid.conf file, delete all options in /etc/squid3/squid.conf then replace with squid3 configuration below
sudo nano /etc/squid3/squid.conf
Squid3 configuration:
# ACCESS CONTROLS OPTIONS # ==================== # acl QUERY urlpath_regex -i cgi-bin ? .php$ .asp$ .shtml$ .cfm$ .cfml$ .phtml$ .php3$ localhost acl all src acl localnet src 10.0.0.0/8 acl localnet src 192.168.1.0/24 # Your network here acl localhost src 127.0.0.1/32 acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901 81 3128 1025-65535 acl sslports port 443 563 81 2087 10000 acl manager proto cache_object acl purge method PURGE acl connect method CONNECT acl ym dstdomain .messenger.yahoo.com .psq.yahoo.com acl ym dstdomain .us.il.yimg.com .msg.yahoo.com .pager.yahoo.com acl ym dstdomain .rareedge.com .ytunnelpro.com .chat.yahoo.com acl ym dstdomain .voice.yahoo.com acl ymregex url_regex yupdater.yim ymsgr myspaceim # http_access deny ym http_access deny ymregex http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !safeports http_access deny CONNECT !sslports http_access allow localhost http_access allow localnet http_access deny all # # NETWORK OPTIONS # ————— # http_port 3128 # # OPTIONS WHICH AFFECT THE CACHE SIZE # ============================== # cache_mem 8 MB maximum_object_size_in_memory 32 KB memory_replacement_policy heap GDSF cache_replacement_policy heap LFUDA cache_dir aufs /home/precise/cache 10000 14 256 maximum_object_size 128000 KB cache_swap_low 95 cache_swap_high 99 # # LOGFILE PATHNAMES AND CACHE DIRECTORIES # ================================== # access_log /var/log/squid3/access.log cache_log /cache/cache.log #cache_log /dev/null cache_store_log none logfile_rotate 5 log_icp_queries off # # OPTIONS FOR TUNING THE CACHE # ======================== # cache deny QUERY refresh_pattern ^ftp: 1440 20% 10080 reload-into-ims refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i .(gif|png|jp?g|ico|bmp|tiff?)$ 10080 95% 43200 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private refresh_pattern -i .(rpm|cab|deb|exe|msi|msu|zip|tar|xz|bz|bz2|lzma|gz|tgz|rar|bin|7z|doc?|xls?|ppt?|pdf|nth|psd|sis)$ 10080 90% 43200 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private refresh_pattern -i .(avi|iso|wav|mid|mp?|mpeg|mov|3gp|wm?|swf|flv|x-flv|axd)$ 43200 95% 432000 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private refresh_pattern -i .(html|htm|css|js)$ 1440 75% 40320 refresh_pattern -i .index.(html|htm)$ 0 75% 10080 refresh_pattern -i (/cgi-bin/|?) 0 0% 0 refresh_pattern . 1440 90% 10080 # quick_abort_min 0 KB quick_abort_max 0 KB quick_abort_pct 100 store_avg_object_size 13 KB # # HTTP OPTIONS # =========== vary_ignore_expire on # # ANONIMITY OPTIONS # =============== # request_header_access From deny all request_header_access Server deny all request_header_access Link deny all request_header_access Via deny all request_header_access X-Forwarded-For deny all # # TIMEOUTS # ======= # forward_timeout 240 second connect_timeout 30 second peer_connect_timeout 5 second read_timeout 600 second request_timeout 60 second shutdown_lifetime 10 second # # ADMINISTRATIVE PARAMETERS # ===================== # cache_mgr ninja cache_effective_user proxy cache_effective_group proxy httpd_suppress_version_string on visible_hostname ninja # ftp_list_width 32 ftp_passive on ftp_sanitycheck on # # DNS OPTIONS # ========== # dns_timeout 10 seconds dns_nameservers 192.168.1.1 8.8.8.8 8.8.4.4 # DNS Server # # MISCELLANEOUS # =========== # memory_pools off client_db off reload_into_ims on coredump_dir /cache pipeline_prefetch on offline_mode off # #Marking ZPH #========== zph_mode tos zph_local 0x04 zph_parent 0 zph_option 136 ### END CONFIGURATION ###
Create swap directory,
squid3 -z
Restart squid3:
sudo /etc/init.d/squid3 restart
2. I change follow string :
acl localnet src 192.168.0.0/24 #Your network here
......
http_port 8080
2. Add string (from: http://wiki.squid-cache.org/Features/CacheHierarchy):
chache_peer 192.168.0.20 parent 8080 0 no-query default
never_direct allow all
воскресенье, 9 сентября 2012 г.
alsamixer
For set volume level from console used:
$ alsamixer
For restart alsa:
$ sudo alsa reload
or
$ sudo alsa force-reload
Else sometimes can be useful reinstall pulseaudio:
sudo apt-get install --reinstall pulseaudio
or
sudo apt-get purge pulseaudio
sudo apt-get install pulseaudio
sudo apt-get install indicator-sound libcanberra-pulse pulseaudio-module-gconf pulseaudio-module-bluetooth pulseaudio-module-compat
Path of also configuration file:
/usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf
$ alsamixer
For restart alsa:
$ sudo alsa reload
or
$ sudo alsa force-reload
Else sometimes can be useful reinstall pulseaudio:
sudo apt-get install --reinstall pulseaudio
or
sudo apt-get purge pulseaudio
sudo apt-get install pulseaudio
sudo apt-get install indicator-sound libcanberra-pulse pulseaudio-module-gconf pulseaudio-module-bluetooth pulseaudio-module-compat
Path of also configuration file:
/usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf
четверг, 2 августа 2012 г.
Keil uVision v4.54 C++ Classes static variables
After define static variable in class, example:
class C
{
public:
static bool Inited;
};
need to set it in .c file where this class will be used:
bool C::Inited = false;
But not in .h file where defined class.
class C
{
public:
static bool Inited;
};
need to set it in .c file where this class will be used:
bool C::Inited = false;
But not in .h file where defined class.
вторник, 31 июля 2012 г.
четверг, 14 июня 2012 г.
Использование uVision для прошивки сторонними hex файлами.
Developers can create a µVision project for downloading a HEX file to Flash. Such a project can be used within a batch file for automated Flash programming. Follow these steps to create the project file:
- Create a µVision project through the menu Project — New Project.
- Select the microcontroller from the Device Database, but do not copy any startup code to this project.
- Enter the HEX file name into the field Project — Options for Target — Output — Name of Executable.
- Setup the download utility as described in Flash Download Configuration.
Download the HEX file to the Flash ROM device using the menu Flash — Download.
http://www.keil.com/support/man/docs/uv4/uv4_fl_hexdownload.htm
четверг, 17 мая 2012 г.
Команды VIM
Команды перемещения:
h, j, k, l - влево, вниз, вверх, вправо
w (w'ord) - начало следующего слова
e (e'nd) - конец следующего слова
b (b'ack) - в начало предыдущего слова
Редактирование:
i (i'nsert) - вставить текст до курсора (со смещением)
I - с начала строки (со смещением)
a (a'fter) - вставить текст после курсора
A - добавить текст с конца строки
o (o'pen) - открыть новую строку выше
O - открыть новую строку ниже
s - замена начиная с текущего символа
S - замена всей текущей строки
r (r'eplace) - заменить один текущий символ
R - заменить несколько последовательно расположенных символов (для выхода ESC)
Визуальный режим:
v (v'isual) - выделение посимвольно
V - выделение построчно
c (c'hange) - заменить выделенный текст
h, j, k, l - влево, вниз, вверх, вправо
w (w'ord) - начало следующего слова
e (e'nd) - конец следующего слова
b (b'ack) - в начало предыдущего слова
Редактирование:
i (i'nsert) - вставить текст до курсора (со смещением)
I - с начала строки (со смещением)
a (a'fter) - вставить текст после курсора
A - добавить текст с конца строки
o (o'pen) - открыть новую строку выше
O - открыть новую строку ниже
s - замена начиная с текущего символа
S - замена всей текущей строки
r (r'eplace) - заменить один текущий символ
R - заменить несколько последовательно расположенных символов (для выхода ESC)
Визуальный режим:
v (v'isual) - выделение посимвольно
V - выделение построчно
c (c'hange) - заменить выделенный текст
понедельник, 7 мая 2012 г.
Подключение к серверу по ssh через http proxy из Linux
Необходима программа
corkscrew:
sudo apt-get install corkscrew
Если прокси требует авторизации, то можно создать файл:
$touch .corkscrew-auth
$gedit .corkscrew-auth
Вписать свои:
username:password
пятница, 27 апреля 2012 г.
вторник, 24 апреля 2012 г.
Настройка NFS в Ubuntu
Настройка сервера:
теперь сконфигурируем его. Важно ответте NO на вопрос о "bind loopback".
- КОД: ВЫДЕЛИТЬ ВСЁ
sudo apt-get install nfs-kernel-server nfs-common portmap
теперь сконфигурируем его. Важно ответте NO на вопрос о "bind loopback".
- КОД: ВЫДЕЛИТЬ ВСЁ
sudo dpkg-reconfigure portmap
sudo /etc/init.d/portmap restart
понедельник, 16 апреля 2012 г.
Автомонтирование NTFS
Для автомонтирования при загрузке нужно отредактировать файл /etc/fstab. Но сначала нужно узнать идентификатор устройства и UUID раздела. Идентификатор устройства узнаем командой
$ mount
В моем случае это /dev/sda2. Теперь нужно узнать UUID диска:
$ sudo blkid
воскресенье, 15 апреля 2012 г.
Настройка igmpproxy на OpenWRT
Командой
tcpdump -ni eth0.2 igmp
отслеживаем к каким адресам обращается iptv-плеер. Например:
00:42:33.348324 IP 172.16.58.50 > 238.39.40.67: igmp v2 report 238.39.40.67
00:42:34.289359 IP 192.168.189.2 > 224.0.0.1: igmp query v2 [max resp time 10] [gaddr 238.39.40.122]
00:42:34.388925 IP 192.168.176.2 > 224.0.0.1: igmp query v2 [max resp time 10] [gaddr 238.39.40.122]
Также обращаем внимание какая версия igmp используется.
Файл настроек /etc/igmpproxy.conf:
# (Se example...)
#
# The "quickleave" should be used to avoid saturation
# of the upstream link. The option should only
# be used if it's absolutely nessecary to
# accurately imitate just one Client.
#
########################################################
суббота, 14 апреля 2012 г.
Подключение к роутеру по ssh через proxy
Достаточно просто на странице proxy программы Putty указать настройки http-прокси, например 192.168.0.20:8080. Через него ssh без проблем подключается по 22. Поначалу я думал, что такое невозможно и пытался подключиться то через ftp-proxy или создать туннель через http-прокси. Но все оказалось гораздо проще.
Сбой pure-ftpd на open-wrt
После некоторых манипуляций перестал открываться сервер ftp на open-wrt. Запуск команды для обновления настроек:
pure-pw mkdb
выдавал ошибку:
Unable to open the passwd file: No such file or directory
Другими словами сервер работал, но ни одного пользователя для входа на ftp не было зарегистрировано. Проблема решилась созданием файла /etc/pureftpd.passwd соответствующей командой:
touch /etc/pureftpd.passwd
Почему pure-ftpd сам не мог себе создать этот файл для меня осталось загадкой.
вторник, 10 апреля 2012 г.
Ubuntu 12.04 и настройка PPPoE
Подписаться на:
Сообщения (Atom)