вівторок, 20 вересня 2016 р.

Розробка Android програм під Linux

Для розробки android програм зазвичай рекомендують середовище AndroidStudio. Втім це доволі важка програма. І не кожен ПК буде адекватно працювати з ним. А слабші  машини відчутно гальмують. Для простих проектів вихід є. Розробку ведемо за допомогою будь-якого текстового редактора, а для компіляції переходимо у консоль і відмовляємося від IDE взагалі. Послідовність дій для налаштування інструментарію і компіляції проекту:

1. Встановлюємо інструментарій:

sudo apt-get install ant openjdk-8-jre openjdk-8-jdk

2. Скачуємо і встановлюємо android-sdk (актуальну версію sdk можна взяти з https://developer.android.com/studio/index.html#downloads):

curl -O https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz

3. Розпаковуємо SDK:

tar -zxf android-sdk_r24.4.1-linux.tgz

4. Оновлюємо SDK згідно інструкції в SDK_readme.txt (одночасно відфільтровуємо лише необхідні компоненти):

./android-sdk-linux/tools/android update sdk --no-ui --filter 1,2,4,11

Як дізнатися, які саме пакети необхідні в опції --filter: 
./android-sdk-linux/tools/android list sdk
В результаті отримуємо щось на кшталт:
Packages available for installation or update: 14
   1- Android SDK Tools, revision 25.2.2
   2- Android SDK Platform-tools, revision 24.0.3
   3- Documentation for Android SDK, API 24, revision 1
   4- Google APIs, Android API 24, revision 1
   5- Google APIs, Android API 23, revision 1
   6- Google APIs, Android API 22, revision 1
   7- Google APIs, Android API 21, revision 1
   8- Google APIs, Android API 19, revision 20
   9- Glass Development Kit Preview, Android API 19, revision 11
  10- Google APIs, Android API 18, revision 4
  11- Google APIs, Android API 17, revision 4
  12- Google APIs, Android API 16, revision 4
  13- Google APIs, Android API 15, revision 3
  14- Android Support Repository, revision 38
5. Переходимо до свого проекту і оновлюємо його дані:
 ../android-sdk-linux/tools/android update project -t android-17 -p .
6.  Компілюємо проект за допомогою ant:
ant debug

понеділок, 19 вересня 2016 р.

Перевстановлення Linux на існуючий LVM DM-CRYPT розділ

Лінукс достатньо стабільна система. Але ніхто не застрахований від помилок користувача. І часом ці помилки можуть призвести до повної непрацездатності системи. Перевстановлення системи - не проблема в більшості випадків. Але якщо ви використовуєте шифрування розділів, то не завжди очевидно, як перевстановити систему поверх старої, не стираючи старих даних.

Отже, як це робив я:
  1. Завантажуємося з Live CD
  2. Монтуємо зашифрований диск (Double-click, вводимо пароль)
  3. Якщо старий софт не потрібен, видаляємо всі каталоги, крім home:

    find /mnt/ ! -name 'home' -maxdepth 1 -exec rm -R {} +

    (Знак оклику обов'язковий!)
  4. Запускаємо інсталятор, вибираємо мову та інші налаштування
  5. Інсталятор просить розмонтувати зашифрований диск. Відповідаємо NO
  6. Поділ диску (Partitioning) - вибираємо "щось інше" (something else)
  7. Вибираємо Ext4 root (і, можливо, home), swap на шифрованому дискові, а Ext2 boot на окремому незашифрованому розділі
  8. Вибираємо встановити GRUB на /dev/sda
  9. Далі нормальна інсталяція
Після цієї інсталяції система не запускатиметься, тому слід знову завантажитися з Live CD, відкрити terminal і виконати такі кроки
sudo su
cryptsetup luksOpen /dev/sda5 cryptLVM
vgscan --mknodes
vgchange -ay
mount /dev/mapper/xubuntu--vg-root /mnt
mount /dev/sda1 /mnt/boot
mount –bind /dev /mnt/dev
mount –bind /sys /mnt/sys
mount –bind /proc /mnt/proc
nano /mnt/etc/crypttab
cryptLVM UUID=896567b2-1c16-4f34-975c-091ae88908c9 none luks,discard
chroot /mnt /bin/bash
update-initramfs -uk all

Визначення UUIDпристрою
blkid /dev/sda5
 
Джерела:
http://www.bobrosbag.nl/index.php/2015/05/28/reinstall-debian-on-an-existing-lukslvm-setup/ http://ubuntuforums.org/showthread.php?t=1034910&p=7916766#post7916766