Let’s say you have a central authentication server in a LDAP and you successfully connect your Linux box as a client to LDAP server. Whenever you are using a particular LDAP user to login to your box, your shell get confused and change the LDAP user with a local user of your box intermittently. What is the problem?
for making it crystal clear lets say your local user ID is : 1000 for knowing the id of user in Ubuntu you can run following command :
And this will print out uid, gid and the group id of the user.
Now if you go to your LDAP server and query the same user name you will notice that his LDAP’s uid is also the same as the local user id 1000.
for solving this problem you either have to change local uid or LDAP uid.
This is a common symptom of mis behaviour of systemd-logind. I couldn’t still find-out what is really happening underneath of this service but if you experience such issues you can try to restart the service using following command
sudo service systemd-logind restart
and make sure to run this code on the console not just by using ssh.
If anyone knows more about underlying components of systemd-logind please give me some more information about it.
For installing Maven on Ubuntu you have two ways the easy way and the manual method. The easy way is just execute following command :
sudo apt-get install maven
Or if you use Ubuntu 16+ you can use following command too :
sudo apt install maven
Just remember you need to have root privileges.
The manual way
If you want to have the latest version of Maven on your Ubuntu go to the Maven website and download the latest binary package then you can extract it in /opt/ using command :
tar xvf apache-maven-3.5.2-bin.tar.gz -C /opt/
make sure you have set your JAVA_HOME if you don’t know how you can read this post
then open up your /etc/environment add following to your path
quit from your editor then type
to test if maven is installed type
There are sometimes that you want to trace an IP/Host based on a particular port to check if the port is open or not here is how you can do that :
traceroute -T -p 25 yoursite.com
- -T indicates to use TCP instead of UDP
- -p checks specific port
Installing Java JDK is easy and straightforward in Windows and OSX but not in Ubuntu. Here is how I am installing JDK on Ubuntu.
Download the latest JDK package from Oracle website. If you don’t know which file to choose you ought to select .tar.gz files whether 32bit or 64bit depends on your requirements.
after download the right package you need to extract it using following command you can extract it :
tar xvf jdk-8u161-linux-x64.tar.gz -C /opt/
Note : In this example I am using JDK version 8 revision 161
The /opt directory is where I chose to extract my JDK.
After extracting my JDK it is time to let Ubuntu know where to look after the Java Development Kit and Java Run Time.
Suppose you want to install your java and javac and javaws executable files in /usr/bin directory :
sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_161/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_161/bin/javac 1
sudo update-alternatives --install /usr/bin/javaws javaws /opt/jdk1.8.0_161/bin/javaws 1
After executing update-alternatives its time to set JAVA_HOME. Open /etc/environment file and add following lines to it :
now in command line if you type
you will see the result.
The $? is called exit code of an application used to run. As an example type following commands in console:
then press CTRL-Z and then type:
You will see 147 as the answer. Return values more than 128 usually means signal and you have to do the calculation by subtracting 128 from the returned result. In this case you will get 19 which means
You can read about linux signals using :
man 7 signal