Шукати в цьому блозі

середу, 17 липня 2019 р.

Як встановити Netbeans 11 на Debian (Ubuntu, Linux Mint)

Встановили Java, скажемо версії 11.0.3, та отримуємо Netbeans потрібної 11-ї версії:
wget https://www-us.apache.org/dist/incubator/netbeans/incubating-netbeans/incubating-11.0/incubating-netbeans-11.0-bin.zip
розпакуємо отриманий архів:
unzip incubating-netbeans-11.0-bin.zip
перемістимо розпакований каталог netbeans в opt:
sudo mv netbeans /opt
потрібний для запуску файл тепер знаходиться тут /opt/netbeans/bin/netbeans.
Таким чином шлях /opt/netbeans/bin можна додати до PATH, наприклад у .bashrc:
export PATH=${PATH}:~/bin:/opt/netbeans/bin
Все, можна запускати netbeans з консолі, або ж посилання у меню чи створити іконку на робочому столі.

Модулі, що не запустилися в мене у новій версії:
 org.netbeans.libs.nashorn - No module providing the capability com.oracle.js.parser.implementation could be found.
 org.netbeans.modules.javascript2.doc - The module org.netbeans.libs.nashorn would also need to be installed.
 org.netbeans.modules.javascript2.model - The module org.netbeans.libs.nashorn would also need to be installed.
 org.netbeans.modules.javascript2.model - The module org.netbeans.modules.javascript2.doc would also need to be installed.
 org.netbeans.modules.javascript2.editor - The module org.netbeans.libs.nashorn would also need to be installed.
 org.netbeans.modules.javascript2.editor - The module org.netbeans.modules.javascript2.model would also need to be installed.
 org.netbeans.modules.javascript2.editor - The module org.netbeans.modules.javascript2.doc would also need to be installed.
 org.netbeans.modules.javascript2.requirejs - The module org.netbeans.modules.javascript2.editor would also need to be installed.
 org.netbeans.modules.javascript2.requirejs - The module org.netbeans.modules.javascript2.model would also need to be installed.
 org.netbeans.modules.javascript2.nodejs - The module org.netbeans.modules.javascript2.editor would also need to be installed.
 org.netbeans.modules.javascript2.nodejs - The module org.netbeans.modules.javascript2.model would also need to be installed.
 org.netbeans.modules.javascript.nodejs - The module org.netbeans.modules.javascript2.nodejs would also need to be installed.
 org.netbeans.modules.html.angular - The module org.netbeans.modules.javascript2.editor would also need to be installed.
 org.netbeans.modules.html.angular - The module org.netbeans.modules.javascript2.model would also need to be installed.
 org.netbeans.modules.javascript2.prototypejs - The module org.netbeans.modules.javascript2.model would also need to be installed.
 org.netbeans.modules.javascript2.extjs - The module org.netbeans.modules.javascript2.editor would also need to be installed.
 org.netbeans.modules.javascript2.extjs - The module org.netbeans.modules.javascript2.model would also need to be installed.
 org.netbeans.modules.javascript2.knockout - The module org.netbeans.modules.javascript2.model would also need to be installed.
 org.netbeans.modules.html.knockout - The module org.netbeans.modules.javascript2.editor would also need to be installed.
 org.netbeans.modules.html.knockout - The module org.netbeans.modules.javascript2.knockout would also need to be installed.
 org.netbeans.modules.javascript2.jquery - The module org.netbeans.modules.javascript2.editor would also need to be installed.
 org.netbeans.modules.javascript2.jquery - The module org.netbeans.modules.javascript2.model would also need to be installed.
 org.netbeans.modules.javascript2.extdoc - The module org.netbeans.modules.javascript2.doc would also need to be installed.
 org.netbeans.modules.javascript2.jsdoc - The module org.netbeans.modules.javascript2.doc would also need to be installed.
 org.netbeans.modules.javascript2.sdoc - The module org.netbeans.modules.javascript2.doc would also need to be installed.
 org.netbeans.modules.javascript2.kit - The module org.netbeans.modules.javascript2.prototypejs would also need to be installed.
 org.netbeans.modules.javascript2.kit - The module org.netbeans.modules.javascript2.editor would also need to be installed.
 org.netbeans.modules.javascript2.kit - The module org.netbeans.modules.javascript2.nodejs would also need to be installed.
 org.netbeans.modules.javascript2.kit - The module org.netbeans.modules.javascript2.requirejs would also need to be installed.
 org.netbeans.modules.javascript2.kit - The module org.netbeans.modules.javascript2.knockout would also need to be installed.
 org.netbeans.modules.javascript2.kit - The module org.netbeans.modules.javascript2.jsdoc would also need to be installed.
 org.netbeans.modules.javascript2.kit - The module org.netbeans.modules.javascript2.extjs would also need to be installed.
 org.netbeans.modules.javascript2.kit - The module org.netbeans.modules.javascript2.jquery would also need to be installed.
 org.netbeans.modules.javascript2.kit - The module org.netbeans.modules.javascript2.extdoc would also need to be installed.
 org.netbeans.modules.javascript2.kit - The module org.netbeans.modules.javascript2.sdoc would also need to be installed.
 org.netbeans.modules.javascript2.source.query - The module org.netbeans.modules.javascript2.model would also need to be installed.
 org.netbeans.modules.web.client.kit - The module org.netbeans.modules.javascript.nodejs would also need to be installed.
 org.netbeans.modules.web.client.kit - The module org.netbeans.modules.javascript2.source.query would also need to be installed.
 org.netbeans.modules.web.kit - The module org.netbeans.modules.web.client.kit would also need to be installed.
 org.netbeans.modules.web.struts - The module org.netbeans.modules.web.kit would also need to be installed.
 org.netbeans.modules.spring.webmvc - The module org.netbeans.modules.web.kit would also need to be installed.
 org.netbeans.modules.websvc.kit - The module org.netbeans.modules.web.kit would also need to be installed.
 org.netbeans.modules.j2ee.kit - The module org.netbeans.modules.web.kit would also need to be installed.
 org.netbeans.modules.web.jsf.kit - The module org.netbeans.modules.web.kit would also need to be installed.
 org.netbeans.modules.web.primefaces - The module org.netbeans.modules.web.jsf.kit would also need to be installed.
 org.netbeans.modules.html.ojet - The module org.netbeans.modules.javascript2.editor would also need to be installed.
 org.netbeans.modules.html.ojet - The module org.netbeans.modules.html.knockout would also need to be installed.
 org.netbeans.modules.html.ojet - The module org.netbeans.modules.web.client.kit would also need to be installed.
 org.netbeans.modules.html.ojet - The module org.netbeans.modules.javascript2.model would also need to be installed.
 org.netbeans.modules.websvc.restkit - The module org.netbeans.modules.websvc.kit would also need to be installed.
але це певно вже зовсім інша історія…

SSH: Enables the sharing of multiple sessions over a single network connection.

Маленький нотаток щодо організації багатьох з'єднань (сесій) через один конект.
Ну всі ми часто-густо кудись ходимо по ssh і можливо навіть відкриваємо декілька з'єднань (звісно, якщо не є прихильниками screen). Так от, сам процес з'єднання можна значно прискорити. ;)
Редагуємо .ssh/config і десь на його початку описуємо загальні вимоги щодо з'єднань з використанням можливостей "sharing of multiple sessions":
host *
        ControlMaster auto
        ControlPath ~/.ssh/control/%r@%h:%p
        ControlPersist 10m
Що ми при цьому отримуємо? Значне прискорення підключення по ssh при повторному з'єднанні з віддаленим хостом!

Про опції:
  • ControlMaster - вмикає саму можливість "sharing of multiple sessions". Може приймати параметр auto, ask або autoask.
  • ControlPath - місце де буде створюватися сокет
  • ControlPersist - можна вказати який час будемо пам'ятати про попереднє з'єднання, якщо його було "розірвано". Може також приймати параметр no, тобто не пам'ятати й розривати одразу як останній клієнт покинув віддалене місце призначення. А можна вказати 0, тоді навпаки про з'єднання будемо пам'ятати доти доки не скажемо:
    ssh -O exit
Хочете дізнатися більше? man ssh_config ;)

понеділок, 15 липня 2019 р.

IPv6: як знайти свій DUID?

Можна спробувати уважно прочитати IPv6 configuration після чого намалювати маленький скриптик-однострочник:
$ sudo dmidecode | awk '$1~/^UUID:$/ { printf("0x0004%s\n", $2) }' | tr -d \- 
0x0004a016be68aa87df11b60f20cf301946f7
або так:
$ sudo cat /sys/devices/virtual/dmi/id/product_uuid | awk '{ printf("0x0004%s\n", $1) }' | tr -d \- 
0x0004a016be68aa87df11b60f20cf301946f7

вівторок, 2 липня 2019 р.

Debian, Oracle та Java - нескінченна історія

Не пройшло й 20 років як Oracle почали публікувати Java у вигляді deb-пакетів. Щоправда автоматичного оновлення alternatives як не було так й немає. Але й так добре :)

Але ж такі дрібниця як відсутність автоматичного налаштування alternatives нас не зупинять!

Для початку все ж раджу встановити наявний останній OpenJDK, для цього уважно читаємо інструкцію з Debian Wiki. Це само по собі дозволить мати налаштовані на OpenJDK посилання alternatives та man-и до них.

Далі робимо архів  поточних alternatives, так, про всяк випадок:
tar cJf /tmp/java-alternatives.tar.xz $( \
  ls -l /etc/alternatives/* | \
  awk '$11~/\/jvm\// && $11!~/\.1\.gz$/ { print $9 }' \
)
Ну, а потім будь-яким чином отримуємо список нових посилань та оновлюємо alternatives з OpenJDK на JDK, наприклад так:
ls -l /etc/alternatives/* |   awk '$11~/\/jvm\// && $11!~/\.1\.gz$/ { printf("test -f %s && ( sudo rm %s; sudo ln -s %s %s )\n", $11, $9, $11, $9) }' |   sed "s,/java-8-openjdk-amd64/,/jdk-11.0.3/,g;s,/jre/,/,g" > java-alternatives-new
chmod +x java-alternatives-new
./java-alternatives-new
У разі будь-яких негараздів завжди можемо відкатитися до версії alternatives яку зберегли в архів :)

Подивимося поточну версію java та javac:

$ java -version
java version "11.0.3" 2019-04-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.3+12-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.3+12-LTS, mixed mode)
$ javac -version
javac 11.0.3
та перевіримо, що у нас наразі залишилося в alternatives, що вказує не на поточну версію:
ls -l /etc/alternatives/ | grep java | grep -v \.1\.gz
…трохи є :(