A tools' list you should have installed on your new linux setup
Want more logos? Take a look here for full set!
"Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency."
sudo apt install git-all
"curl is used in command lines or scripts to transfer data. curl is also used in cars, television sets, routers, printers, audio equipment, mobile phones, tablets, settop boxes, media players and is the Internet transfer engine for thousands of software applications in over ten billion installations."
sudo apt install curl
"SDKMAN! is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems."
sudo apt install curl wget unzip -y
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk version
"Java allows you to play online games, chat with people around the world, calculate your mortgage interest, and view images in 3D, just to name a few. It's also integral to the intranet applications and other e-business solutions that are the foundation of corporate computing."
Using sdkman
sdk list java
sdk install java 11.0.10-open
java --version
"Gradle is an open-source build automation tool focused on flexibility and performance."
Using sdkman
sdk install gradle
gradle -v
"Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information."
Using sdkman
sdk install maven
mvn -v
https://github.com/nvm-sh/nvm
"nvm is a version manager for node.js, designed to be installed per-user, and invoked per-shell. nvm works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and windows WSL."
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
nvm -v
"As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications."
Using nvm
nvm install node
node
come with the latest compatiblenpm
version
"Yarn is a package manager that doubles down as project manager. Whether you work on one-shot projects or large monorepos, as a hobbyist or an enterprise user, we've got you covered."
sudo npm install --global yarn
yarn -v
"Bower can manage components that contain HTML, CSS, JavaScript, fonts or even image files. Bower doesn’t concatenate or minify code or do anything else - it just installs the right versions of the packages you need and their dependencies."
sudo npm install -g bower
sudo apt install tree
$ tree .
├── Desktop
├── Documents
│ ├── docs
│ │ └── cheatsheet-must-have-tools.md
"HTTPie—aitch-tee-tee-pie—is a user-friendly command-line HTTP client for the API era. It comes with JSON support, syntax highlighting, persistent sessions, wget-like downloads, plugins, and more."
apt install httpie
"Docker simplifies and accelerates your workflow, while giving developers the freedom to innovate with their choice of tools, application stacks, and deployment environments for each project."
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
docker run hello-world
sudo groupadd docker
sudo usermod -aG docker $USER
"Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services."
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -v
"Portainer Community Edition 2.0 is the foundation of the Portainer world. With over half a million regular users, it’s a powerful, open source toolset that allows you to easily build and manage containers in Docker, Docker Swarm, Kubernetes and Azure ACI.."
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
"Guake is a top-down terminal for Gnome, and is highly inspirated by the famous terminal used in Quake."
sudo apt-get install guake
"VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use."
sudo apt install virtualbox
"HashiCorp Vagrant provides the same, easy workflow regardless of your role as a developer, operator, or designer. It leverages a declarative configuration file which describes all your software requirements, packages, operating system configuration, users, and more."
Download file : https://releases.hashicorp.com/vagrant/2.2.14/vagrant_2.2.14_x86_64.deb
sudo apt install ./vagrant_2.2.14_x86_64.deb
vagrant --version
"Low-ops, minimal production Kubernetes, for devs, cloud, clusters, workstations, Edge and IoT."
sudo snap install microk8s --classic
Using
snap
microk8s status --wait-ready
sudo usermod -a -G microk8s rsoutart
sudo chown -f -R rsoutart ~/.kube
https://www.google.com/chrome/
"Google builds powerful tools that help you connect, play, work and get things done. And all of it works on Chrome."
sudo apt-get install google-chrome-stable
"Slack is the collaboration hub that brings the right people, information, and tools together to get work done."
sudo snap install slack --classic
Using
snap
"Bring your tools and teams together in a fully secure location."
sudo snap install mattermost-desktop
Using
snap
https://www.jetbrains.com/idea/
"Every aspect of IntelliJ IDEA has been designed to maximize developer productivity. Together, intelligent coding assistance and ergonomic design make development not only productive but also enjoyable."
ultimate
sudo snap install intellij-idea-ultimate --classic --edge
community
sudo snap install intellij-idea-community --classic --edge
Using
snap
"PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance."
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql-9.6
"Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases."
sudo add-apt-repository ppa:serge-rider/dbeaver-ce
sudo apt-get update
sudo apt-get install dbeaver-ce
"Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster."
sudo snap install postman
Using
snap
https://code.visualstudio.com/
"Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux."
sudo snap install code --classic
Using
snap
https://www.fortinet.com/support/product-downloads#vpn
"The VPN-only version of FortiClient offers SSL VPN and IPSecVPN, but does not include any support. Download the best VPN software for multiple devices."
wget -O - https://repo.fortinet.com/repo/6.4/ubuntu/DEB-GPG-KEY | sudo apt-key add -
Add the following line in /etc/apt/sources.list
deb [arch=amd64] https://repo.fortinet.com/repo/6.4/ubuntu/ xenial multiverse
sudo apt-get update
sudo apt install forticlient
"Remote access screen and file sharing to your desktop."
sudo snap install remmina
Using
snap
https://filezilla-project.org/
"The FileZilla Client not only supports FTP, but also FTP over TLS (FTPS) and SFTP. It is open source software distributed free of charge under the terms of the GNU General Public License."
sudo apt-get install filezilla