Academia JavaEE Workspace in Ubuntu: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
(Replaced content with "==JMeter== {| |colspan="2"| <syntaxhighlight lang="bash"> cat <<-'EXE'|sudo bash mkdir -p /opt/ide wget -cq https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.6.3.tgz -P /opt/ide tar -xzf /opt/ide/apache-jmeter-5.6.3.tgz -C /opt/ide rm -rf /opt/ide/apache-jmeter-5.6.3.tgz EXE </syntaxhighlight> |- |colspan="2"| ---- |- |colspan="2"| <syntaxhighlight lang="ini"> cat << INI | sudo tee /usr/share/applications/jmeter.desktop >/dev/null [Desktop Entry]...")
Tags: Replaced Reverted
Line 1: Line 1:
==Utility & OpenJDK==
==JMeter==
{|
{|
| valign="top" colspan="2" |
|colspan="2"|
<syntaxhighlight lang="bash">
echo 'apt-get update;echo;apt list -a --upgradable;apt-get upgrade -y'|sudo bash
</syntaxhighlight>
 
|-
| colspan="2" |
----
|-
| valign="top" |
<syntaxhighlight lang="bash">
cat <<-'EXE'|sudo bash
for package in apt-transport-https ca-certificates gnupg curl
do apt-get install -y ${package};done
EXE
</syntaxhighlight>
 
| valign="top" |
<syntaxhighlight lang="bash">
cat <<-'EXE'|sudo bash
for package in build-essential git file procps libfuse2
do apt-get install -y ${package};done
EXE
</syntaxhighlight>
 
|-
| colspan="2" |
----
|-
| valign="top" |
<syntaxhighlight lang="bash">
cat <<-'EXE'|sudo bash
for release in 8 11 17 21
do apt-get install -y openjdk-${release}-jdk;done
EXE
</syntaxhighlight>
 
| valign="top" |
<syntaxhighlight lang="bash">
cat <<-'EXE'|sudo bash
for package in ant npm maven nodejs
do apt-get install -y ${package};done
EXE
</syntaxhighlight>
 
|}
 
==Text Editor » Sublime==
<syntaxhighlight lang="bash">
curl -fsSL https://download.sublimetext.com/sublimehq-pub.gpg\
| sudo gpg --dearmor -o /usr/share/keyrings/sublimehq-pub.gpg
 
cat << EOF | sudo tee /etc/apt/sources.list.d/sublime-text.list >/dev/null
deb [arch=$(dpkg --print-architecture)\
signed-by=/usr/share/keyrings/sublimehq-pub.gpg]\
https://download.sublimetext.com/ apt/stable/
EOF
 
echo 'apt-get update;echo;apt-get install -y sublime-text'|sudo bash
</syntaxhighlight>
 
==JetBrains Toolbox==
<syntaxhighlight lang="bash">
wget -cq https://download-cdn.jetbrains.com/toolbox/jetbrains-toolbox-2.4.0.32175.tar.gz -P ${HOME}/Downloads
tar -xzf ${HOME}/Downloads/jetbrains-toolbox-2.4.0.32175.tar.gz -C ${HOME}/Downloads
rm  -rf  ${HOME}/Downloads/jetbrains-toolbox-2.4.0.32175.tar.gz
sudo apt update && sudo apt install libfuse2
 
${HOME}/Downloads/jetbrains-toolbox-2.4.0.32175/jetbrains-toolbox
rm -rf ${HOME}/Downloads/jetbrains-toolbox-2.4.0.32175
</syntaxhighlight>
 
==Spring Tool Suite==
<syntaxhighlight lang="bash">
cat <<-'EXE'|sudo bash
mkdir -p /opt/ide
wget -cq https://cdn.spring.io/spring-tools/release/STS4/4.23.1.RELEASE/dist/e4.32/spring-tool-suite-4-4.23.1.RELEASE-e4.32.0-linux.gtk.x86_64.tar.gz -P /opt/ide
tar -xzf /opt/ide/spring-tool-suite-4-4.23.1.RELEASE-e4.32.0-linux.gtk.x86_64.tar.gz -C /opt/ide
rm  -rf  /opt/ide/spring-tool-suite-4-4.23.1.RELEASE-e4.32.0-linux.gtk.x86_64.tar.gz
EXE
 
# https://marketplace.eclipse.org/content/jaspersoft-studio
# https://projectlombok.org/setup/eclipse
cat <<-'EXE'|sudo bash
mkdir -p /opt/ide/lombok/bin
wget -cq https://projectlombok.org/downloads/lombok.jar -P /opt/ide/lombok/bin
java -jar /opt/ide/lombok/bin/lombok.jar
EXE
</syntaxhighlight>
 
<syntaxhighlight lang="ini">
cat << EOF | sudo tee /usr/share/applications/SpringToolSuite4.desktop >/dev/null
[Desktop Entry]
Name=SpringSource Tool Suite 4
Comment=SpringSource Tool Suite 4
Exec=/opt/ide/sts-4.23.1.RELEASE/SpringToolSuite4
Icon=/opt/ide/sts-4.23.1.RELEASE/icon.xpm
Keywords=Java,Eclipse,Spring,IDE,Development
Categories=Development;IDE;Java;
StartupNotify=true
Type=Application
Terminal=false
EOF
</syntaxhighlight>
 
==Camunda==
<syntaxhighlight lang="bash">
cat <<-'EXE'|sudo bash
mkdir -p /opt/ide
mkdir -p  /tmp/camunda/images
 
  wget -cq https://downloads.camunda.cloud/release/camunda-modeler/5.25.0/camunda-modeler-5.25.0-linux-x64.tar.gz -P /opt/ide
  tar -xzf /opt/ide/camunda-modeler-5.25.0-linux-x64.tar.gz -C /opt/ide
chmod 4755 /opt/ide/camunda-modeler-5.25.0-linux-x64/chrome-sandbox
    rm -rf /opt/ide/camunda-modeler-5.25.0-linux-x64.tar.gz
 
wget  -cq https://camunda.com/wp-content/uploads/2022/09/Camunda_Secondary_Logo.zip -P /tmp/camunda
unzip -qq /tmp/camunda/Camunda_Secondary_Logo.zip -d /tmp/camunda/images/
      cp /tmp/camunda/images/Secondary-Logo_Rounded-Orange.png \
          /opt/ide/camunda-modeler-5.25.0-linux-x64/camunda-modeler.png
  rm -rf /tmp/camunda/
EXE
</syntaxhighlight>
 
<syntaxhighlight lang="ini">
cat << EOF | sudo tee /usr/share/applications/CamundaModeler.desktop >/dev/null
[Desktop Entry]
Name=Camunda Modeler 5
Comment=Camunda Modeler 5.25.0
Exec=/opt/ide/camunda-modeler-5.25.0-linux-x64/camunda-modeler
Icon=/opt/ide/camunda-modeler-5.25.0-linux-x64/camunda-modeler.png
Keywords=Camunda,Modeler,BPMN,IDE,Development
Categories=Development;IDE;BPMN;
StartupNotify=true
Type=Application
Terminal=false
EOF
</syntaxhighlight>
 
==JMeter==
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
cat <<-'EXE'|sudo bash
cat <<-'EXE'|sudo bash
Line 149: Line 10:
EXE
EXE
</syntaxhighlight>
</syntaxhighlight>
 
|-
|colspan="2"|
----
|-
|colspan="2"|
<syntaxhighlight lang="ini">
<syntaxhighlight lang="ini">
cat << INI | sudo tee /usr/share/applications/jmeter.desktop >/dev/null
cat << INI | sudo tee /usr/share/applications/jmeter.desktop >/dev/null
Line 165: Line 30:
INI
INI
</syntaxhighlight>
</syntaxhighlight>
<syntaxhighlight lang="ini">
cat << INI | sudo tee -a /opt/ide/apache-jmeter-5.6.3/bin/user.properties >/dev/null
#jmeter extended properties
jmeter.hidpi.mode=true
jmeter.hidpi.scale.factor=2.0
jmeter.toolbar.icons.size=48x48
jmeter.tree.icons.size=48x48
jsyntaxtextarea.font.family=Hack
jsyntaxtextarea.font.size=28
swing.plaf.metal.controlFont=Dialog-20
swing.plaf.metal.systemFont=Dialog-20
swing.plaf.metal.userFont=SansSerif-18
swing.plaf.metal.smallFont=SansSerif-16
swing.plaf.metal.controlFont=Dialog-32
swing.plaf.metal.systemFont=Dialog-32
swing.plaf.metal.userFont=SansSerif-20
swing.plaf.metal.smallFont=SansSerif-20
INI
</syntaxhighlight>
==PostgreSQL==
===Install===
----
<syntaxhighlight lang="bash">
sudo apt install postgresql postgresql-contrib
sudo systemctl enable postgresql
sudo systemctl status postgresql
sudo systemctl start  postgresql
sudo systemctl daemon-reload
</syntaxhighlight>
<syntaxhighlight lang="sql">
sudo -i -u postgres bash << EOF
createuser ${USER}
createdb  ${USER}
cat << DDL | psql
ALTER USER ${USER} WITH SUPERUSER;
DDL
EOF
</syntaxhighlight>
<syntaxhighlight lang="bash">
pg_lsclusters
less /var/log/postgresql/postgresql-14-main.log
sudo pg_createcluster --start 14 mycluster
sudo pg_dropcluster    --stop 14 mycluster
</syntaxhighlight>
===Schema===
----
<syntaxhighlight lang="sql">
sudo -i -u postgres bash << EOF
cat << DDL | psql
CREATE DATABASE chorke_academia_staging;
CREATE USER chorke WITH ENCRYPTED PASSWORD 'sadaqah!';
DDL
EOF
sudo -i -u postgres bash << EOF
cat << DCL | psql
GRANT ALL PRIVILEGES ON DATABASE chorke_academia_staging TO chorke;
DCL
EOF
</syntaxhighlight>
psql chorke_academia_staging < chorke_academia_staging.sql
psql -h db00.chorke.org -p 5432 -d chorke_academia_staging -U chorke
psql -h db00.chorke.org -p 5432 -d chorke_academia_staging -U chorke -W -f chorke_academia_staging.sql
pg_restore -h db00.chorke.org -p 5432 -d chorke_academia_staging -U chorke chorke_academia_staging.dump
===Revoke===
----
<syntaxhighlight lang="sql">
sudo -i -u postgres bash << EOF
cat << DCL | psql
REVOKE CONNECT ON DATABASE chorke_academia_staging FROM public;
DCL
EOF
</syntaxhighlight>
===Delete===
----
ps -ef | grep postgres
kill -9 PID
<syntaxhighlight lang="sql">
sudo -i -u postgres bash << EOF
cat << DQL | psql
SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity
WHERE pg_stat_activity.datname in ('chorke_academia_staging');
DQL
EOF
sudo -i -u postgres bash << EOF
cat << DDL | psql
DROP DATABASE IF EXISTS chorke_academia_staging;
DDL
EOF
</syntaxhighlight>
===DBeaver===
<syntaxhighlight lang="bash">
sudo snap install dbeaver-ce
# register apt-get repository
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://dbeaver.io/debs/dbeaver.gpg.key\
| sudo gpg --dearmor -o /etc/apt/keyrings/dbeaver.gpg.key
cat << EOF | sudo tee /etc/apt/sources.list.d/dbeaver.list >/dev/null
deb [arch=$(dpkg --print-architecture)\
signed-by=/etc/apt/keyrings/dbeaver.gpg.key]\
https://dbeaver.io/debs/dbeaver-ce /
EOF
</syntaxhighlight>
===PgAdmin4===
----
<syntaxhighlight lang="bash">
sudo apt install curl
sudo apt install apache2
# curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add
# sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > \
# /etc/apt/sources.list.d/pgadmin4.list && apt update'
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://www.pgadmin.org/static/packages_pgadmin_org.pub\
| sudo gpg --dearmor -o /etc/apt/keyrings/pgadmin4.gpg
cat << EOF | sudo tee /etc/apt/sources.list.d/pgadmin4.list >/dev/null
deb [arch=$(dpkg --print-architecture)\
signed-by=/etc/apt/keyrings/pgadmin4.gpg]\
https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main
EOF
sudo apt update
sudo apt install pgadmin4-web
sudo /usr/pgadmin4/bin/setup-web.sh
</syntaxhighlight>
<syntaxhighlight lang="bash">
a2enmod ssl
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_balancer
</syntaxhighlight>
==Sencha CMD==
<syntaxhighlight lang="bash">
unzip SenchaCmd-7.5.1.20-linux-amd64.sh.zip
sudo sh SenchaCmd-7.5.1.20-linux-amd64.sh
export SENCHA_CMD='/opt/cli/sencha/cmd'
export OPENSSL_CONF='/etc/ssl'
export PATH=$PATH:$SENCHA_CMD
mkdir -p ~/.sencha/cmd
cat << EOF > $HOME/.sencha/cmd/sencha.cfg
#------------------------------------------------------------------------------
# The folder for the local package repository. By default, this folder is shared
# by all versions of Sencha Cmd. In other words, upgrading Sencha Cmd does not
# affect the local repository.
repo.local.dir=${HOME}/.sencha/cmd/repo
EOF
sencha diag show
</syntaxhighlight>
==Redis==
<syntaxhighlight lang="bash" highlight="13">
apt install redis-server
nano /etc/redis/redis.conf
: <<'END_COMMENT'
# If you run Redis from upstart or systemd, Redis can interact with your
# supervision tree. Options:
#  supervised no      - no supervision interaction
#  supervised upstart - signal upstart by putting Redis into SIGSTOP mode
#  supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET
#  supervised auto    - detect upstart or systemd method based on
#                        UPSTART_JOB or NOTIFY_SOCKET environment variables
# Note: these supervision methods only signal "process is ready."
#      They do not enable continuous liveness pings back to your supervisor.
supervised systemd
END_COMMENT
systemctl status redis-server
</syntaxhighlight>
==Workspace==
<syntaxhighlight lang="bash">
mkdir -p $HOME/chorke
mkdir -p /opt/dev/$USER/chorke/academia
chown $USER:$USER -R /opt/dev/$USER
export ACADEMIA_WSS="$HOME/chorke/academia"
ln -s /opt/dev/$USER/chorke/academia $ACADEMIA_WSS
ls -lah $HOME/chorke
nano ~/.bashrc
</syntaxhighlight>
==Editor==
===Install & Config Tmux===
----
<syntaxhighlight lang="bash">
sudo apt install tmux
cat << EOF | tee ${HOME}/.tmux.conf >/dev/null
set -g base-index 1
# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
set -g default-terminal 'screen-256color'
set -g history-limit 10000
set -g status-fg  green
set -g status-bg  black
# Window/pane split
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
EOF
</syntaxhighlight>
==Git SCM==
<syntaxhighlight lang="bash">
sudo apt -y install gitk
ssh-keygen -t rsa -b 4096 -C "[email protected]"
: <<'END_COMMENT'
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): /home/user/.ssh/git_academia_chorke_org_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/git_academia_chorke_org_rsa
Your public key has been saved in /home/user/.ssh/git_academia_chorke_org_rsa.pub
The key fingerprint is:
SHA256:TXBbBINcPcVtdVFRjs/P+jaxMFAIwr3uqdlt8tmrLVQ [email protected]
The key's randomart image is:
+---[RSA 4096]----+
|      .oo+*++o.+@|
|      .++ =o..o+|
|          + .....|
|        + . E o |
|        S . o  o|
|        . . o o.|
|        . o  o =|
|        o+.o+  +.|
|      o..+=o+ooo|
+----[SHA256]-----+
END_COMMENT
ls -lah ~/.ssh/
cat < ~/.ssh/git_academia_chorke_org_rsa.pub
</syntaxhighlight>
<syntaxhighlight lang="bash">
nano ~/.ssh/config
: <<'END_COMMENT'
Host git.academia.chorke.org
    HostName git.academia.chorke.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/git_academia_chorke_org_rsa
    User git
END_COMMENT
</syntaxhighlight>
<syntaxhighlight lang="bash">
git config --global user.email "[email protected]"
git config --global user.name "FULL NAME"
ssh -vT git.academia.chorke.org
</syntaxhighlight>
<syntaxhighlight lang="bash">
# add the new key(s) to known_hosts
ssh-keyscan -H git.academia.chorke.org >> ~/.ssh/known_hosts
# remove the old key(s) from known_hosts
ssh-keygen -R git.academia.chorke.org
</syntaxhighlight>
==Podman==
sudo apt update
sudo apt install podman
podman -v
<syntaxhighlight lang="bash">
cat << EOF | sudo tee -a /etc/containers/registries.conf >/dev/null
[registries.search]
registries=["registry.access.redhat.com", "registry.fedoraproject.org", "docker.io"]
EOF
podman search ubuntu
podman pull ubuntu
podman images
podman info
</syntaxhighlight>
==Vagrant==
<syntaxhighlight lang="bash">
curl -fsSL https://apt.releases.hashicorp.com/gpg\
| sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
cat << EOF | sudo tee /etc/apt/sources.list.d/hashicorp.list >/dev/null
deb [arch=$(dpkg --print-architecture)\
signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg]\
https://apt.releases.hashicorp.com $(lsb_release -cs) main
EOF
sudo apt update  && sudo apt list  --upgradeable
sudo apt upgrade && sudo apt install vagrant
vagrant -v
</syntaxhighlight>
<syntaxhighlight lang="bash">
sudo apt install -y qemu-kvm virt-manager libvirt-daemon-system virtinst libvirt-clients bridge-utils
sudo systemctl enable  --now libvirt-guests.service
sudo systemctl enable  --now virtlogd.service
sudo systemctl enable  --now libvirtd.service
systemctl status libvirt-guests.service
systemctl status libvirtd.service
systemctl status virtlogd.service
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
newgrp libvirt
newgrp kvm
</syntaxhighlight>
<syntaxhighlight lang="bash">
sudo systemctl disable --now libvirt-guests.service
sudo systemctl disable --now virtlogd.service
sudo systemctl disable --now libvirtd.service
sudo systemctl disable --now virtlogd-admin.socket
sudo systemctl disable --now virtlogd.socket
sudo systemctl disable --now libvirtd-admin.socket
sudo systemctl disable --now libvirtd-ro.socket
sudo systemctl disable --now libvirtd.socket
</syntaxhighlight>
==Docker==
<syntaxhighlight lang="bash">
sudo apt install apt-transport-https ca-certificates curl software-properties-common
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg\
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
cat << EOF | sudo tee /etc/apt/sources.list.d/docker.list >/dev/null
deb [arch=$(dpkg --print-architecture)\
signed-by=/etc/apt/keyrings/docker.gpg]\
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable
EOF
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo systemctl status docker
sudo usermod -aG docker academia
sudo usermod -aG docker ${USER}
su - ${USER}
id -nG
</syntaxhighlight>
<syntaxhighlight lang="bash">
cat << EOF | sudo tee /etc/docker/daemon.json >/dev/null
{
    "bip"  : "10.20.13.1/24",
    "mtu"  : 1500,
    "dns"  : [
        "8.8.8.8",
        "8.8.4.4"
    ],
    "debug": true
}
EOF
sudo systemctl stop  docker.socket
sudo systemctl stop  docker.service
sudo systemctl start docker.service
su - ${USER}
docker run --rm alpine cat /etc/resolv.conf
docker run --rm alpine cat /etc/hosts
</syntaxhighlight>
==LXC==
<syntaxhighlight lang="bash">
sudo apt upgrade && sudo apt autoremove
sudo snap install lxd --channel=5.11/stable
sudo usermod -aG lxd ${USER}
su - ${USER}
lxc version
id -nG
</syntaxhighlight>
<syntaxhighlight lang="bash">
sudo lxd init
:'
Would you like to use LXD clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]:
Name of the new storage pool [default=default]:
Name of the storage backend to use (dir, lvm, btrfs, ceph) [default=btrfs]:
Create a new BTRFS pool? (yes/no) [default=yes]:
Would you like to use an existing empty block device (e.g. a disk or partition)? (yes/no) [default=no]:
Size in GiB of the new loop device (1GiB minimum) [default=30GiB]:
Would you like to connect to a MAAS server? (yes/no) [default=no]:
Would you like to create a new local network bridge? (yes/no) [default=yes]:
What should the new bridge be called? [default=lxdbr0]:
What IPv4 address should be used? (CIDR subnet notation, "auto" or "none") [default=auto]: 10.20.23.1/24
Would you like LXD to NAT IPv4 traffic on your bridge? [default=yes]:
What IPv6 address should be used? (CIDR subnet notation, "auto" or "none") [default=auto]:
Would you like the LXD server to be available over the network? (yes/no) [default=no]:
Would you like stale cached images to be updated automatically? (yes/no) [default=yes]:
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:
'
sudo ufw allow http
sudo ufw allow OpenSSH
sudo ufw allow in on lxdbr0
sudo ufw route allow in on lxdbr0
sudo ufw route allow out on lxdbr0
sudo ufw status verbose
sudo systemctl status ufw
sudo ufw enable
su - ${USER}
lxc launch images:alpine/3.17 academia &&
lxc exec academia sh
</syntaxhighlight>
==Arduino==
sudo apt  install arduino
sudo snap install arduino
<syntaxhighlight lang="bash">
sudo wget -c https://downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz -P /opt/ide/
sudo tar -xvf /opt/ide/arduino-1.8.19-linux64.tar.xz -C /opt/ide/
sudo rm  -rf  /opt/ide/arduino-1.8.19-linux64.tar.xz
sudo /opt/ide/arduino-1.8.19/install.sh
sudo usermod -aG dialout ${USER}
newgrp dialout
id -nG
</syntaxhighlight>
==Qt Creator==
sudo apt install qtcreator
sudo apt remove  qtcreator
sudo apt auto-remove qtcreator
==Microsoft==
<syntaxhighlight lang="bash">
sudo apt install apt-transport-https\
ca-certificates curl software-properties-common wget
wget -qO - microsoft.gpg https://packages.microsoft.com/keys/microsoft.asc\
| sudo gpg --dearmor -o /etc/apt/keyrings/microsoft-archive-keyring.gpg
cat << EOF | sudo tee /etc/apt/sources.list.d/microsoft-edge.list >/dev/null
deb [arch=$(dpkg --print-architecture)\
signed-by=/etc/apt/keyrings/microsoft-archive-keyring.gpg]\
https://packages.microsoft.com/repos/edge stable main
EOF
sudo apt update  && sudo apt list  --upgradeable
sudo apt upgrade && sudo apt install microsoft-edge-stable
microsoft-edge -version
</syntaxhighlight>
==Remote==
sudo ufw allow 5900/tcp
sudo ufw status verbose
systemctl --user restart gnome-remote-desktop.service
systemctl --user status  gnome-remote-desktop.service
gsettings set org.gnome.desktop.remote-desktop.rdp screen-share-mode extend
==DaVinci Resolve==
<syntaxhighlight lang="bash">
wget -cq https://sw.blackmagicdesign.com/DaVinciResolve/v18.1.4/DaVinci_Resolve_18.1.4_Linux.zip\
?Key-Pair-Id=${KEY_PAIR_ID}==&Expires=${KEY_EXPIRES} -P ${HOME}/Downloads
unzip DaVinci_Resolve_18.1.4_Linux.zip -d ${HOME}/Downloads
sudo apt install libfuse2 libxcb-cursor0 libxcb-damage0
sudo ./DaVinci_Resolve_18.1.4_Linux.run -i
</syntaxhighlight>
==K8s Lens==
<syntaxhighlight lang="bash">
# install from snapcraft
sudo snap install kontena-lens --classic
# license version
curl -fsSL https://downloads.k8slens.dev/keys/gpg\
| sudo gpg --dearmor -o /etc/apt/keyrings/k8slens.gpg
cat << EOF | sudo tee /etc/apt/sources.list.d/k8slens.list >/dev/null
deb [arch=$(dpkg --print-architecture)\
signed-by=/etc/apt/keyrings/k8slens.gpg]\
https://downloads.k8slens.dev/apt/debian stable main
EOF
sudo apt install lens
lens-desktop
</syntaxhighlight>
==Knowledge==
{|
| valign="top" |
tmux ls
tmux new -s my_session
tmux attach-session -t 0
tmux attach-session -t my_session
'''Ctrl + b''' % » Split pane horizontally
'''Ctrl + b''' " » Split pane vertically
'''Ctrl + b''' x » Close current pane
| valign="top" |
'''Ctrl + b''' c » Create a new window
'''Ctrl + b''' w » Choose window from a list
'''Ctrl + b''' 0 » Switch to window by number
'''Ctrl + b''' , » Rename the current window
'''Ctrl + b''' o » Go to the next pane
'''Ctrl + b''' ; » Toggle between pane
'''Ctrl + b''' d » Detach the session
|-
| colspan="2" |
----
|-
| valign="top" |
lsblk
lscpu
lsusb
free -h
sudo lshw
ufw status
ufw status verbose
systemctl status ufw
apt list --installed
| valign="top" |
sudo ufw allow http
sudo ufw allow OpenSSH
sudo ufw allow 5900/tcp
sudo ss -tulpn | grep LISTEN
sudo ss -tulwn | grep LISTEN
sudo ss -tulpn | grep LISTEN | grep sshd
sudo ss -tulpn | grep LISTEN | grep redis
sudo ss -tulpn | grep LISTEN | grep gnome
sudo ss -tulpn | grep LISTEN | grep apache


|-
|-
| colspan="2" |
|colspan="2"|
----
----
|-
|-
| valign="top" |
|valign='top'|
sudo dmidecode -t
sudo dmidecode -t 1
sudo dmidecode -t 3
 
| valign="top" |
sudo dmidecode | grep 'SKU Number'
sudo dmidecode -s system-product-name
sudo dmidecode -s system-serial-number
 
|-
| colspan="2" |
----
|-
| valign="top" |
'''disk usage'''
du -h /var
du -sh /var
du -csh ~/Do*
du -csh /var/log /var/lib
du -sh --apparent-size /var/lib
du -h /var/ | sort -rh | head -5
sudo dpkg --remove --force-remove-reinstreq ${PACAKGE_NAME:-vim}
 
| valign="top" |
sudo apt install ~/Downloads/TIB_js-studiocomm_6.16.0_linux_amd64.deb
sudo apt install ~/Downloads/code_1.74.3-1673284829_amd64.deb
sudo apt install ~/Downloads/teams_1.5.00.23861_amd64.deb
sudo apt install ~/Downloads/anydesk_6.2.1-1_amd64.deb
sudo apt install ~/Downloads/freedownloadmanager.deb
sudo apt install ~/Downloads/zoom_amd64.deb
sudo apt --fix-broken install
sudo apt install -f
 
|-
| colspan="2" |
----
|-
| valign="top" |
sudo apt install balena-etcher-electron
sudo apt install inetutils-traceroute
sudo apt install libavcodec58 ffmpeg
sudo apt install gedit-plugins
sudo apt install sublime-text
sudo apt install obs-studio
sudo apt install mesa-utils
sudo apt install filezilla
sudo apt install net-tools
sudo apt install neofetch
sudo apt install libfuse2
 
sudo apt install gtkhash
sudo apt install upx-ucl
sudo apt install hwinfo
sudo apt install ktouch
sudo apt install podman
sudo apt install bolt
sudo apt install tree
sudo apt install tmux
sudo apt install jq
sudo apt install mc
 
| valign="top" |
sudo snap install maas --channel=3.3/stable
sudo snap install dotnet-sdk --classic
sudo snap install powershell --classic
sudo snap install notepad-plus-plus
sudo snap install telegram-desktop
sudo snap install skype --classic
sudo snap install nvim --classic
sudo snap install code --classic
sudo snap install figma-linux
sudo snap install zoom-client
sudo snap install arduino
sudo snap install firefox
sudo snap install postman
sudo snap install drawio
sudo snap install maas
sudo snap disable mass
sudo snap install slack
sudo snap refresh drawio
sudo snap refresh firefox
sudo snap remove  postman
 
|-
| colspan="2" |
----
|-
| valign="top" |
ls -lah ~/.local/share/applications/
ls -lah ~/.config/autostart/
ls -lah ~/.local/share/
 
| valign="top" |
rm -rf ~/.local/share/applications/jetbrains-toolbox.desktop
rm -rf ~/.config/autostart/jetbrains-toolbox.desktop
rm -rf ~/.local/share/JetBrains/Toolbox
 
|-
| colspan="2" |
----
|-
| valign="top" |
lspci | grep -i thunder
'''git stashing'''
git stash; git checkout -b new_branch; git stash pop
git add .; git commit -m "new feature added"; git push
 
| valign="top" |
'''reset time zone'''
timedatectl set-ntp true
timedatectl set-ntp false
timedatectl set-time '2021-12-31 23:58:00'
timedatectl set-timezone 'Asia/Kuala_Lumpur'
 
|-
| colspan="2" |
----
|-
| valign="bottom" |
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
#nano ~/.bashrc
# jmeter find jvm_args
#nano ~/.zshenv
JMETER_JVM_ARGS_FIND=$(cat <<FIN
#nano ~/.profile
##  JVM_ARGS="-Xms512m -Xmx512m" jmeter.sh etc.\n\
#nano ~/.bash_profile
##\n\
export ACADEMIA_WSS="$HOME/chorke/academia"
##  ==============================================\n
export ACADEMIA_LOG_PATH="$HOME/.chorke/academia/var/http/logs"
FIN
)
</syntaxhighlight>
</syntaxhighlight>


| valign="bottom" |
|valign='top'|
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
source ~/.bashrc
# jmeter fill jvm_args
source ~/.profile
JMETER_JVM_ARGS_FILL=$(cat <<FIL
source ~/.bash_profile
${JMETER_JVM_ARGS_FIND}\
 
JVM_ARGS="-Dsun.java2d.uiScale=200%"\
source ~/.zshenv
\n
source ~/.zprofile/.zlogin
FIL
)
</syntaxhighlight>
</syntaxhighlight>


|-
|-
| colspan="2" |
|colspan="2"|
----
----
|-
|-
| colspan="2" |
|colspan="2"|
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
ssh-keygen -p -f ~/.ssh/git_academia_chorke_org_rsa
sudo sed -z "s|${JMETER_JVM_ARGS_FIND}|$(echo "${JMETER_JVM_ARGS_FILL}")|" \
: <<'END_COMMENT'
-i /opt/ide/apache-jmeter-5.6.3/bin/jmeter.sh
Enter old passphrase:
Key has comment 'email.id@academia.chorke.org'
Enter new passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved with the new passphrase.
END_COMMENT
</syntaxhighlight>
</syntaxhighlight>
|-
| colspan="2" |
----
|-
| colspan="2" |
'''comment and uncomment sql'''
sed -i -e 's|^|-- |g' src/main/resources/db/migration/*.sql
sed -i -e 's|^-- ||g' src/main/resources/db/migration/*.sql
sudo systemctl enable  --now ssh
sudo systemctl disable --now ssh
'''hide mounted drives:'''
gsettings set org.gnome.shell.extensions.dash-to-dock show-mounts true
gsettings set org.gnome.shell.extensions.dash-to-dock show-mounts false
|}
==References==
{|
| valign="top" |
* [https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-18-04  Install and Use PostgreSQL on Ubuntu 18.04]
* [https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-redis-on-ubuntu-18-04  Install and Secure Redis on Ubuntu 18.04]
* [https://www.linuxbabe.com/desktop-linux/install-telegram-ubuntu Install Telegram Messenger on Ubuntu]
* [https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-on-ubuntu-18-04 Install Java with Apt on Ubuntu 18.04]
* [https://www.sublimetext.com/docs/3/linux_repositories.html#apt Sublime Text Linux Package Manager]
* [https://askubuntu.com/questions/893263/ Install Anydesk desktop in Ubuntu]
* [https://gist.github.com/invinciblycool/ecc1c6e32b581b68932ac7452f4c911c Installing Postman on Ubuntu]
* [https://www.pgadmin.org/download/pgadmin-4-apt/ Install PgAdmin4 desktop]
* [https://anydesk.com/en/downloads/linux Get AnyDesk for Ubuntu]
* [[PostgreSQL]]
| valign="top" |
* [https://www.digitalcitizen.life/connecting-windows-remote-desktop-ubuntu/ Connect to a Windows PC from Ubuntu using RDP]
* [https://stackoverflow.com/questions/25515166/ Redis Daemon unable to creating a PID file]
* [https://ubuntu.com/tutorials/access-remote-desktop Remmina access a remote desktop]
* [https://stackoverflow.com/questions/2099471/ Add a prefix beginning of each line]
* [https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04 Install Docker on Ubuntu 20.04]
* [https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04 Install Docker on Ubuntu 18.04]
* [https://help.ubuntu.com/kubuntu/desktopguide/C/manual-install.html Debian Package Manual Install]
* [https://snapcraft.io/install/code/ubuntu Visual Studio Code on Ubuntu]
* [[LAMP Stack for PI]]
* [[LAPP Stack for PI]]
| valign="top" |
* [https://www.omgubuntu.co.uk/2019/11/hide-mounted-drives-ubuntu-dock Hide Mounted Drives from the Ubuntu Dock]
* [https://www.linuxbabe.com/desktop-linux/switch-intel-nvidia-graphics-card-ubuntu Install Nvidia Graphics Card on Ubuntu]
* [https://askubuntu.com/questions/1033069/ Ubuntu Move to Workspace Left/Right]
* [https://www.sublimetext.com/docs/linux_repositories.html Sublime Text Linux Package Manager]
* [https://askubuntu.com/questions/1145050/ IntelliJ IDEA Receive System Env]
* [https://www.baeldung.com/linux/solve-shared-object-error Solving Shared Object Error]
* [https://stedolan.github.io/jq/ JQ is a CLI JSON processor]
* [https://jqplay.org JQ Play Online]
* [[JQ Tool]]
* [[ExtJS]]
|-
| colspan="3" |
----
|-
| valign="top" |
* [https://askubuntu.com/questions/214421/ Install the MPEG-4 AAC & H.264 Decoder]
* [https://superuser.com/questions/1428579/ Can't Switch between Tabs in Terminal]
* [https://askubuntu.com/questions/15520/ Do Nothing When Laptop Lid Closed]
* [https://rufus.ie/en/ Rufus » Create Bootable USB Drive]
* [https://github.com/ventoy/Ventoy/releases Ventoy » Bootable USB Solution]
* [https://www.balena.io/etcher Balena Etcher » Flash Flawless]
* [https://github.com/balena-io/etcher Balena Etcher » Install]
* [[Unijoy|Install Unijoy on Linux]]
* [https://quarkus.io/guides/ide-tooling Quarkus IDE Tooling]
* [https://obsproject.com/wiki/install-instructions Install OBS]
| valign="top" |
* [https://dba.stackexchange.com/questions/316681/ PostgreSQL 14 not Started on Ubuntu 22.04]
* [https://www.hostinger.my/tutorials/how-to-install-and-setup-phpmyadmin-on-ubuntu Install phpMyAdmin on Ubuntu]
* [https://zoom.us/download?os=linux Zoom Desktop Client for Linux]
* [https://code.visualstudio.com/docs/?dv=linux64_deb Visual Studio Code for Linux]
* [[Linux Containers]]
* [[Alpine/Morefine]]
* [[Podman]]
* [[Vagrant]]
* [[Docker]]
* [[Qemu]]
| valign="top" |
* [https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-22-04 Set Up a Firewall with UFW on Ubuntu 22.04]
* [https://help.gnome.org/users/gnome-help/stable/net-firewall-ports.html.en Gnome Commonly Used Network Ports]
* [[Linux Virtual Display for iPad Pro]]
* [[VS Code on iPad Pro]]
* [[IntelliJ IDEA]]
* [[Camunda]]
* [[Minikube]]
* [[VSCode]]
* [[NodeJS]]
* [[MinIO]]
|-
| colspan="3" |
----
|-
| valign="top" |
* [https://unix.stackexchange.com/questions/8656/ <code>/usr/bin</code> vs <code>/usr/local/bin</code> on Linux]
* [https://askubuntu.com/questions/525088/ Delete broken packages in Ubuntu]
* [[Macrium Reflect Alternatives]]
* [[Linux Mount Drive]]
* [https://github.com/AntJanus/my-dotfiles/blob/master/.tmux.conf TMux Config]
* [[OpenVPN]]
* [https://apps.kde.org/ktouch/ KTouch]
* [[MAAS]]
* [[TMux]]
* [https://www.atlassian.com/git/tutorials/gitk Gitk]
| valign="top" |
* [https://stackoverflow.com/questions/77295243/ JDK » 21 » Maven compilation error]
* [https://github.com/MuhammedKalkan/OpenLens/releases K8s » OpenLens]
* [https://www.rancher.com/quick-start K8s » Rancher]
* [https://github.com/lensapp/lens K8s » Lens]
* [[S2I]]
| valign="top" |


|}
|}

Revision as of 00:48, 8 July 2024

JMeter

cat <<-'EXE'|sudo bash
 mkdir -p /opt/ide
 wget -cq https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.6.3.tgz -P /opt/ide
tar  -xzf /opt/ide/apache-jmeter-5.6.3.tgz -C /opt/ide
   rm -rf /opt/ide/apache-jmeter-5.6.3.tgz
EXE

cat << INI | sudo tee /usr/share/applications/jmeter.desktop >/dev/null
[Desktop Entry]
Version=5.6
Terminal=false
Type=Application
Name=Apache JMeter
StartupNotify=false
Comment=Apache JMeter
Exec=/opt/ide/apache-jmeter-5.6.3/bin/jmeter.sh
Icon=/opt/ide/apache-jmeter-5.6.3/docs/images/jmeter_square.png
Keywords=Java,JMeter,Development
Categories=Development;IDE;Java;
INI

# jmeter find jvm_args
JMETER_JVM_ARGS_FIND=$(cat <<FIN
##   JVM_ARGS="-Xms512m -Xmx512m" jmeter.sh etc.\n\
##\n\
##   ==============================================\n
FIN
)
# jmeter fill jvm_args
JMETER_JVM_ARGS_FILL=$(cat <<FIL
${JMETER_JVM_ARGS_FIND}\
JVM_ARGS="-Dsun.java2d.uiScale=200%"\
\n
FIL
)

sudo sed -z "s|${JMETER_JVM_ARGS_FIND}|$(echo "${JMETER_JVM_ARGS_FILL}")|" \
 -i /opt/ide/apache-jmeter-5.6.3/bin/jmeter.sh