As the most popular IDE in Java, IntelliJ IDEA Community and Ultimate editions play a huge part in modern Java development. In this article, we look at some of the features in IntelliJ IDEA that make it so popular, compare IntelliJ IDEA Community vs. Ultimate, then share some of the most useful IntelliJ shortcuts for developers. Red Hat Developer cheat sheets đ Browse through our collection of cheat sheets to help you develop with Red Hat products, which you can download for free as a Red Hat Developer member. Youâll find handy guides on a range of the latest developer tools and technologies, including Kubernetes, microservices, containers, and more. Below is the IntelliJ Cheat sheet for commands mentioned which perform different kinds of operations: Command. This command is used to Comment Line. Ctrl + Shift + /. It is used to Comment Block. It is to Duplicate Line. Gentoo Cheat Sheet. From Gentoo Wiki. Jump to:navigation Jump to:search. This is a reference card of useful commands for administrating Gentoo systems.
This is a reference card of useful commands for administrating Gentoo systems. Newcomers and grey beards alike are encouraged to add their helpful tips below.
Package management
Sync methods
Sync all repositories that are set to auto-sync including the Gentoo ebuild repository:
Sync the Gentoo ebuild repository using the mirrors by obtaining a snapshot that is (at most) a day old:
Sync custom package repository and the Gentoo ebuild repository using eix:
If there are overlays created by app-portage/layman, to sync them:
app-portage/layman can be installed by issuing:
app-portage/eix can be installed by issuing:
Gather more information on eix by reading its manual:
Package listings
qlist is provided by app-portage/portage-utils
List installed packages with version number and name of used overlay:
To view the list of packages in the world set along with their available versions it is possible to use app-portage/eix
You can keep color in the output by calling it with the 'color' switch:
Package installation
In the following examples the www-client/firefox package will be used, but users can replace it with their package of interest.
List what packages would be installed without installing them:
Install a specific version of a package (Use '='(backslash and equal sign) if the current shell attaches special meaning to '=' in a command):
Install a package without adding it to the world file:
or
Package removal
Recommended method
The recommended way to remove a package is by using deselect. This removes it from the @world set (i.e. says the package is no longer wanted). To clean up the system afterwards, run depclean as given below.
And then depclean afterwards (the -p should be removed if after running, it shows will not remove any needed packages):
Separately, to remove a package that no other packages depend on:
root #
emerge --ask --verbose --depclean www-client/firefox
As a safety measure, depclean will not remove any packages unless all required dependencies have been resolved. As a consequence of this, it often becomes necessary to run:
root #
emerge --update --newuse --deep --quiet @world
Avoid unnecessary rebuilds when USE flags only get added to or dropped from the repository and use the --quiet
flag for quicker execution:
root #
emerge --update --changed-use --deep --quiet @world
Unclean removal (ignoring dependencies)
Remove a package even if it is needed by other packages:
Use with caution. The
-C
option can break software. Best if used to temporarily remove to satisfy a hard block.Package upgrades
Upgrade all installed packages, dependencies, and deep dependencies that are outdated or have USE flag changes (avoiding unnecessary rebuilds when USE changes have no impact):
root #
emerge --ask --verbose --update --deep --changed-use @world
Package troubleshooting
Check for and rebuild missing libraries (not normally needed):
equery is part of app-portage/gentoolkit. You can obtain it by issuing this command:
Tell which installed package provides a command using equery:
Tell which (not) installed package provides a command using e-file:
Install e-file with:
Tell which packages depend on a specific package (cat/pkg in the example) using equery:
Get information about a package using eix:
Do not unemerge sys-libs/glibc. It is needed by nearly every other package. If you inadvertedly remove it you may need a rescue stick/disk. You can fetch glibc after setting
PORTAGE_BINHOST='http://packages.gentooexperimental.org/packages/amd64-stable/'
in /etc/portage/make.conf.Portage enhancements
Manage configuration changes after an emerge completes:
Or alternatively:
After installations or updates
After updating perl-core packages:
or if previous didn't help:
For haskell packages:
USE flags
Obtain descriptions and usage of the USE flag X
using euse:
Gather more information on euse by reading its manual page:
Show what packages have the mysql
USE flag:
Show what packages are currently built with the mysql
USE flag:
Show what USE flags are available for a specific package:
Quickly add a required USE flag for a package install:
root #
echo 'dev-util/cmake -qt5' >> /etc/portage/package.use
Important Portage files[i 1]
- /etc/portage/make.conf - Global settings (USE flags, compiler options).
- /etc/portage/package.use - USE flags of individual packages. Can also be a folder containing multiple files.
- /etc/portage/package.accept_keywords - Keyword individual packages; e.g. ~amd64, ~x86, or âźarm.
- /etc/portage/package.license - Accepted licenses
- /var/lib/portage/world - List of explicitly installed package atoms.
- /var/db/pkg - Contains information for every installed package a set of files about the installation.
Log management
genlop
genlop is a Portage log processor, also estimating build times when emerging packages.
Install genlop by issuing:
You can gather more information on app-portage/genlop by reading its manual page:
View the last 10 emerges (installs):
View how long emerging LibreOffice took:
Estimate how long emerge -uND --with-bdeps=y @world will take:
Watch the latest merging ebuild during system upgrades:
Overlays
eselect repository
app-eselect/eselect-repository can be installed by issuing:
List all existing overlays:
List all installed overlays:
See also Eselect/Repository
Layman
app-portage/layman can be installed by issuing:
List all existing overlays:
List all installed overlays:
See also Layman
Services
Obtain root shell (if the current user is listed in the sudoers list):
OpenRC
Start the ssh daemon in the default runlevel at boot:
Gradle Commands Cheat Sheet Pdf
Start the sshd service now:
Check if the sshd service is running:
systemd
Start the ssh daemon at boot:
Start the sshd service now:
Check if the sshd service is running:
Gentoo Monthly Newsletter (GMN)
Search packages in Portage by regular expressions:
Overlays vary from very small to very large in size. As a result they slow down the majority of Portage operations. That happens because overlays do not contain metadata caches. The cache is used to speed up searches and the building of dependency trees. A neat trick is to generate local metadata cache after syncing overlays.
This trick also works in conjunction with eix. eix-update can use metadata cache generated by emerge --regen to speed up things. To enable this, add the following variable to /etc/eixrc/00-eixrc:
/etc/eixrc/00-eixrc
qcheck
Use qcheck to verify installed packages:
qcheck comes with app-portage/portage-utils and can be installed by running this command:
Learn more about qcheck by reading its manual page:
See also
External resources
References
This post is about how-to integrate SonarQube into your Gradle powered development process with Docker and Jenkins.
âSonarQube - The leading product for Continuous Code Qualityâ
Gradle with SonarQube
Integrating SonarQube into your Gradle build is as easy as adding the plugin org.sonarqube with:
and running the command ./gradlew sonarqube
.Add the System property -Dsonar.host.url=http://<hostname>:<port>
in case your service is not running locallyâŚ
Since this wouldnât be worth a post I decided to add two bonus chapters ;-)
Bonus I: Run SonarQube with Docker Compose
In the following Setup, weâll use the official Docker image for SonarQube: sonarqube.
The main piece infrastructure wise is the docker-compose.yaml
file:
With docker-compose up sonarqube
you can spin up your local SonarQube which will be available on port 9000
Tip: If you want to use a PostgreSQL as backend you might want to have a look at our post Using a PostgreSQL with Docker like a Pro covering the database part of this scenario.
Youâll also need to configure the database connection in your sonar environment:
Gradle Run Command Line
Bonus II: Run SonarQube behind NGinx
In case you want a simple basic authentication before your SonarQube instance you can add the following snippet to your NGinx configuration:
Gradle Commands
location ^~ /sonar { proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Authorization '; auth_basic âSonarQubeâ; auth_basic_user_file /etc/sonarqube/htaccess; proxy_pass http://127.0.0.1:9000; }
Note: Did you spot the Authorization ';
header, which gave me some headaches�!
In the docker-compose.yaml
we added a command: -Dsonar.web.context=/sonar
to be passed to the entry point to change the context to match our NGinx location.
Safer codingâŚwith Quality Gates