Install Skype in Kali Linux
Skype is a freemium voice-over-IP service and instant messaging client, currently developed by the Microsoft Skype Division. The name was derived from “sky” and “peer”. Skype was first released in August 2003. It was created by by Janus Friis (Denmark) and Niklas Zennström (Sweden) in cooperation with Ahti Heinla, Priit Kasesalu, and Jaan Tallinn (Estonia), who supplied the backend which was also used in Kazaa. Skype had 663 million registered users as of the end of 2010. It was bought by Microsoft in 2011 for $8.5 billion. Microsoft’s Skype division headquarters is in Luxembourg, but most of the development team and 44% of the overall employees of the division are still situated in Tallinn and Tartu, Estonia.
The service allows users to communicate with peers by voice using a microphone, video by using a webcam, and instant messaging over the Internet. Phone calls may be placed to recipients on the traditional telephone networks. Calls to other users within the Skype service are free of charge, while calls to landline telephones and mobile phones are charged via a debit-based user account system. Skype has also become popular for its additional features, including file transfer, and videoconferencing. Competitors include SIP and H.323-based services, such as Linphone and Google Hangouts.
Unlike most other VoIP services, Skype is a hybrid peer-to-peer and client–server system. It makes use of background processing on computers running Skype software, and this is reflected in Skype’s original proposed name of Sky Peer-to-Peer.
Some network administrators have banned Skype on corporate, government, home and education networks, citing reasons such as inappropriate usage of resources, excessive bandwidth usage, and security concerns.[Source:Wikipedia]
Microsoft released Skype for Linux users (interesting that Microsoft, the rival for Linux released Linux package which just shows how powerful and demanding Linux communities has became).
You should be able to download Skype from Official website.
But that’s nothing compared to what you have to go through to install it. I’ve seen too many posts in Kali Forum and other blog sites that explains how to install Skype. Every one of them says to use
apt-get -f install
or in short, to force your installation cause none of them managed to do a clean install and forcing dependencies was the only way to complete their installation. Now, we all know by doing that you will end up with broken dependencies. Also you should know how to roll back your changes (remove Skype and dependency packages). In this post I will show you the followings:- Install Skype from Microsoft’s official
skype-install.deb
package using MultiArch (i386). - Remove Skype
- Clean your broken dependencies
- A complete rollback of MultiArch and clean aptitude for remaining files.
Sound’s good and fair? Because this post is going to be long, you’ll have to be patient and read to the last line. I also suggest to do it in Virtual Environment in case you’re afraid to do it in your main installation. Personally, I installed it in my main Kali Linux installation and nothing broke, I managed to do a complete installation and rollback meeting every dependency for Skype. So let’s move on to the instructions for how to Install Skype in Kali Linux and rollback changes with meeting dependency requirements for both 32-bit and 64-bit installation.
Contents [show]
Install Skype in Kali Linux
To install Skype in a 64-bit Kali Linux installation, you will need to enable MultiArch. For 32-bit (i386) it’s much easier. Please note that I’ve tested this in a 64-Bit Kali Linux installation, so those who are using 32-Bit Kali Linux installation, instructions might be slight different, in fact easier.
MultiArch is the term being used to refer to the capability of a system to install and run applications of multiple different binary targets on the same system. For example running a i386-linux-gnu application on an amd64-linux-gnu system.
Those who are using 64-bit Kali Linux installation, start from Step 1. Those who are using 32-Bit (i386) Kali Linux installation can start fromStep 2.
Step 1: Enable MultiArch in 64-bit Kali Linux
Enabling MultiArch is rather easy in Kali Linux. One thing to remember, you need to have the Official Kali Linux Repository added. In case you messed up your
/etc/apt/sources.list
file, following instructions on adding official Kali Linux repositories.Now assuming you’re using 64-Bit Kali Linux Installation, type in the following in your terminal:
root@kali:~# dpkg --add-architecture i386
How do you know you managed to add i386 Architecture? See below
root@kali:~# cat /var/lib/dpkg/arch
amd64
i386
In case you’re wondering how to remove this i386 Architecture, you can do it as below:
root@kali:~# dpkg --remove-architecture i386
So far so good. I’ve also added a screenshot to show every step before and after change.
Now to update aptitude to get package list from Kali Repository. Do an
apt-get update
root@kali:~# apt-get update
Step 2: Download and install Skype in Kali Linux
To download Skype, you can head to Microsoft website and download it using using browser. The official package is available in theMicrosoft Official Skype webpage
But you can also just download using
wget
which is a lot faster. Personally, I like to create folder for each downloaded package so that I know where they are. Type in the following command to download Skype in a folder named Skype
root@kali:~# mkdir Skype
root@kali:~# cd Skype
root@kali:~/Skype# wget -O skype-install.deb http://www.skype.com/go/getskype-linux-deb
Again this is shown in the following screenshot.
Now that we have downloaded Skype package, we can try to install it using
dpkg
command. (This is shown in every website and forums out there). I am showing it cause I want to show the after math of those instructions. Please read on …To install Skype package using
dpkg
, issue the following command:root@kali:~/Skype# dpkg -i skype-install.deb
This is where it gets interesting.
NOTE: 32-bit Kali Linux users shouldn’t have any problems or errors. For 32-bit Kali Linux users, Skype will install just fine. You can move to Step 5 on see instructions on How to Remove Skype from Kali Linux i386.
During the installation, you might get an error message about dependencies like the following: (also shown in the screenshot above)
root@kali:~/Skype# dpkg -i skype-install.deb
(Reading database ... 303315 files and directories currently installed.)
Preparing to replace skype 4.2.0.11-1 (using skype-install.deb) ...
Unpacking replacement skype ...
dpkg: dependency problems prevent configuration of skype:
skype depends on libqt4-dbus (>= 4:4.5.3).
skype depends on libqt4-network (>= 4:4.8.0).
skype depends on libqt4-xml (>= 4:4.5.3).
skype depends on libqtcore4 (>= 4:4.7.0~beta1).
skype depends on libqtgui4 (>= 4:4.8.0).
skype depends on libqtwebkit4 (>= 2.1.0~2011week13).
dpkg: error processing skype (–install):
dependency problems – leaving unconfigured
Processing triggers for desktop-file-utils …
Processing triggers for gnome-menus …
Processing triggers for hicolor-icon-theme …
Errors were encountered while processing:
skype
And the solution for
dpkg: error processing skype (–install)
error is to force your installationroot@kali:~/Skype# apt-get -f install
Then reinstall using
dpkg
root@kali:~/Skype# dpkg -i skype-install.deb
ARE YOU MAD? WHY WOULD SOMEONE FORCE INSTALLATION UNLESS IT’S ABSOLUTELY NECESSARY? YOU ARE BREAKING STUFF AND YOU DON’T EVEN KNOW HOW TO ROLLBACK.
I get pissed when I see these posts that people say force it and you’ll be fine. Why would you post something like that? After this installation, you will end up in dependency problems right left and center.
I guess that enough ranting. Let’s move on.
Step 3: Install gdebi to meet install requirements
dpkg
is a powerful tool, but it doesn’t install dependencies automatically. What we need is some package installer that can go out and fetch all required dependencies while installing a .deb
package. The best one out there is gdebi
.To install gdebi issue the following command in terminal:
root@kali:~/Skype# apt-get install gdebi
BANG!!!! See what I mean… Now I am getting those dependency problems and only way to overcome that is to force install. I am not going to do that. I will try to resolve that first so that I can install packages normally.
Step 3.1: Fixing Dependency problems in Kali Linux
Let’s try to remove that i386 MultiArch. Naturally, I tried the following first
root@kali:~/Skype# dpkg --remove-architecture i386
Nope, not good enough cause I got something that’s using i386 MultiArch.
Step 3.2: Autoclean, Autoremove, Purge Package Manager
So I tried
autoclean
, autoremove
and purge
.root@kali:~/Skype# apt-get autoclean
root@kali:~/Skype# apt-get autoremove
root@kali:~/Skype# apt-get purge
Still no good. Now you can see why I got MAD when I saw those posts telling you to force it. There’s few post in Kali Forums where users messed up their system in a similar manner and ended up reinstalling Kali Linux because they couldn’t resolve dependencies and was unable to update or upgrade. But the problem will remain if you don’t know how you broke your installation on the first place.
Step 3.3: Temporarily remove Skype
Now back to issue. I soon realized that my Skype installation was half arsed and that was the one causing all these trouble. So let’s remove Skype temporarily.
root@kali:~/Skype# apt-get remove skype
That went well!!!
Step 3.4: Finally remove MultiArch, update aptitude and install gdebi
Now remove i386 MultiArch, do an
apt-get update
and install gdebi
. We do that apt-get update
to refresh package manager list (otherwise, Package Manager will contain the package list for i386 as well).root@kali:~/Skype# dpkg --remove-architecture i386
root@kali:~/Skype# apt-get update
root@kali:~/Skype# apt-get install gdebi
Nice. Worked like a charm. Now we can install Skype with all it’s dependencies using
gdebi
.Step 4: Re-add i386 MultiArch, update package manager and Install Skype using gdebi
At this point you should be back to square 1, you have Kali Linux 64-Bit running without MultiArch enabled and Package Manager is working fine. No dependencies were broken. So we can re-add i386 MultiArch, update package manager and install Skype using GDebi. Follow the commands below:
root@kali:~/Skype# dpkg --add-architecture i386
root@kali:~/Skype# apt-get update
Step 4.1: Install Skype using gdebi
gdebi is very straight forward, you can just issue the following command to install Skype from the downloaded
skype-install.deb
package.root@kali:~/Skype# gdebi skype-install.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Building data structures... Done
Building data structures... Done
Requires the installation of the following packages:
gcc-4.7-base:i386 libasound2-plugins:i386 libasound2:i386 libasyncns0:i386 libattr1:i386 libaudio2:i386 libavahi-client3:i386 libavahi-common-data:i386 libavahi-common3:i386 libavcodec53:i386 libavutil51:i386 libc6-i686:i386 libc6:i386 libcap2:i386 libcomerr2:i386 libcups2:i386 libdbus-1-3:i386 libdirac-encoder0:i386 libexpat1:i386 libffi5:i386 libflac8:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386 libgcrypt11:i386 libglib2.0-0:i386 libgnutls26:i386 libgpg-error0:i386 libgsm1:i386 libgssapi-krb5-2:i386 libgstreamer-plugins-base0.10-0:i386 libgstreamer0.10-0:i386 libice6:i386 libjack-jackd2-0:i386 libjbig0:i386 libjpeg8:i386 libjson0:i386 libk5crypto3:i386 libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 liblcms1:i386 liblzma5:i386 libmng1:i386 libmp3lame0:i386 libogg0:i386 libopenjpeg2:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpcre3:i386 libpng12-0:i386 libpulse0:i386 libqt4-dbus:i386 libqt4-network:i386 libqt4-xml:i386 libqtcore4:i386 libqtdbus4:i386 libqtgui4:i386 libqtwebkit4:i386 libsamplerate0:i386 libschroedinger-1.0-0:i386 libselinux1:i386 libsm6:i386 libsndfile1:i386 libspeex1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386 libstdc++6:i386 libtasn1-3:i386 libtheora0:i386 libtiff4:i386 libuuid1:i386 libva1:i386 libvorbis0a:i386 libvorbisenc2:i386 libvpx1:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libx264-123:i386 libxau6:i386 libxcb1:i386 libxdmcp6:i386 libxext6:i386 libxi6:i386 libxml2:i386 libxrender1:i386 libxss1:i386 libxt6:i386 libxtst6:i386 libxv1:i386 libxvidcore4:i386 zlib1g:i386
Wherever you are, wherever they are
Skype keeps you together. Call, see, message and share with others.
* It's free to download and join.
* Call, instant message and send photos and documents to anyone else on Skype.
* And with a webcam you can catch up face-to-face with a video call.
* Call mobiles and landlines worldwide at low rates.
* Easily text message anywhere in the world.
* Get your friends together on a conference call.
.
And that's just the start...
Do you want to install the software package? [y/N]:y
Voila… GDebi worked like a charm, it picked up all the dependencies and would like to install them. So we say YES!.
Step 4.2: Copy and save dependency list
Just one thing, can you please copy the dependency list and save it into a text file..
When I dependency list, that means this part
gcc-4.7-base:i386 libasound2-plugins:i386 libasound2:i386 libasyncns0:i386 libattr1:i386 libaudio2:i386 libavahi-client3:i386 libavahi-common-data:i386 libavahi-common3:i386 libavcodec53:i386 libavutil51:i386 libc6-i686:i386 libc6:i386 libcap2:i386 libcomerr2:i386 libcups2:i386 libdbus-1-3:i386 libdirac-encoder0:i386 libexpat1:i386 libffi5:i386 libflac8:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386 libgcrypt11:i386 libglib2.0-0:i386 libgnutls26:i386 libgpg-error0:i386 libgsm1:i386 libgssapi-krb5-2:i386 libgstreamer-plugins-base0.10-0:i386 libgstreamer0.10-0:i386 libice6:i386 libjack-jackd2-0:i386 libjbig0:i386 libjpeg8:i386 libjson0:i386 libk5crypto3:i386 libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 liblcms1:i386 liblzma5:i386 libmng1:i386 libmp3lame0:i386 libogg0:i386 libopenjpeg2:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpcre3:i386 libpng12-0:i386 libpulse0:i386 libqt4-dbus:i386 libqt4-network:i386 libqt4-xml:i386 libqtcore4:i386 libqtdbus4:i386 libqtgui4:i386 libqtwebkit4:i386 libsamplerate0:i386 libschroedinger-1.0-0:i386 libselinux1:i386 libsm6:i386 libsndfile1:i386 libspeex1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386 libstdc++6:i386 libtasn1-3:i386 libtheora0:i386 libtiff4:i386 libuuid1:i386 libva1:i386 libvorbis0a:i386 libvorbisenc2:i386 libvpx1:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libx264-123:i386 libxau6:i386 libxcb1:i386 libxdmcp6:i386 libxext6:i386 libxi6:i386 libxml2:i386 libxrender1:i386 libxss1:i386 libxt6:i386 libxtst6:i386 libxv1:i386 libxvidcore4:i386 zlib1g:i386
.Your dependency might be slightly different, but every one of them should have
:i386
at the end of each package name. Don’t ask me why, but just do it, we will show the reasoning at the end of this post.Step 4.3: Finishing installation and running Skype
Following is something you should at the end of installation:
Get:1 http://http.kali.org/kali/ kali/main gcc-4.7-base i386 4.7.2-5 [143 kB]
Get:2 http://security.kali.org/kali-security/ kali/updates/main libgnutls26 i386 2.12.20-8 [606 kB]
Get:3 http://http.kali.org/kali/ kali/main libgcc1 i386 1:4.7.2-5 [53.3 kB]
Get:4 http://security.kali.org/kali-security/ kali/updates/main libavutil51 i386 6:0.8.10-1 [114 kB]
.
.
.....output truncated.....
.
.
Selecting previously unselected package skype.
(Reading database ... 344044 files and directories currently installed.)
Unpacking skype (from skype-install.deb) ...
Setting up skype (4.2.0.13-1) ...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Processing triggers for hicolor-icon-theme ...
root@kali:~/Skype#
That should take a while to download all dependencies and install Skype.
Locate Skype ICON from Application > Internet > Skype and run it.
Agree to the Terms and Conditions and choose language (your right’s for privacy and NSA to snoop onto you etc. etc..)
Finally you get your Skype. Login and enjoy.
In case your sound is mute you might want to follow this other article I wrote previously to fix that.There’s also another issue withPulseAudio configured for per-user sessions … (warning) during boot you might be interested in.
But that’s not a critical issue..
However, rolling back is….
Step 5: Removing Skype and it’s dependencies from Kali Linux
How would you remove Skype now that you have all those packages installed and MultiArch enabled? No change is good enough if you can’t rollback. This is why I emphasis on rollback for each change (if possible). To remove Skype from Kali Linux please follow the steps shown below:
Step 5.1: Removing Skype in 32-Bit Kali Linux
Easy…
root@kali:~/Skype# apt-get remove skype
You don’t need to worry about dependencies cause you are using 32-Bit Kali Linux Installation. In case you want to, just
autoclean
,autoremove
and purge
.root@kali:~/Skype# apt-get autoclean
root@kali:~/Skype# apt-get autoremove
root@kali:~/Skype# apt-get purge
You’re set. 32-Bit Kali Linux users don’t need to read anymore, but I suggest to read on as you’ll get the idea on what to do in a similar situation.
Step 5.2: Removing Skype in 64-Bit Kali Linux
First remove Skype using usual
apt-get
commandroot@kali:~/Skype# apt-get remove skype
This should just work as just removing Skype is like removing any other packages.
Step 5.3: Remove MultiArch in 64-Bit Kali Linux
Now let’s try to remove MultiArch i386 cause we probably don’t need it anymore. Also I like ensure I can do it..
root@kali:~/Skype# dpkg --remove-architecture i386
Nope, we are having exactly the same issue as before (see Step 3). Even after
autoclean
, autoremove
and purge
you will have the same issue (well autoremove
will clean a few things but not enough to allow you to remove MultiArch)root@kali:~/Skype# apt-get autoclean
root@kali:~/Skype# apt-get autoremove
root@kali:~/Skype# apt-get purge
Step 5.4: Remove remaining i386 dependencies from 64-Bit Kali Linux
Remember I said to save Skype dependency list in Step 4.2? That was a grand idea. All you need to do now is to paste those lines with
apt-get remove
. In this way, you’re making sure, you’re only removing i386 packages that were installed as part of Skype installation and nothing else.root@kali:~/Skype# apt-get remove gcc-4.7-base:i386 libasound2-plugins:i386 libasound2:i386 libasyncns0:i386 libattr1:i386 libaudio2:i386 libavahi-client3:i386 libavahi-common-data:i386 libavahi-common3:i386 libavcodec53:i386 libavutil51:i386 libc6-i686:i386 libc6:i386 libcap2:i386 libcomerr2:i386 libcups2:i386 libdbus-1-3:i386 libdirac-encoder0:i386 libexpat1:i386 libffi5:i386 libflac8:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386 libgcrypt11:i386 libglib2.0-0:i386 libgnutls26:i386 libgpg-error0:i386 libgsm1:i386 libgssapi-krb5-2:i386 libgstreamer-plugins-base0.10-0:i386 libgstreamer0.10-0:i386 libice6:i386 libjack-jackd2-0:i386 libjbig0:i386 libjpeg8:i386 libjson0:i386 libk5crypto3:i386 libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 liblcms1:i386 liblzma5:i386 libmng1:i386 libmp3lame0:i386 libogg0:i386 libopenjpeg2:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpcre3:i386 libpng12-0:i386 libpulse0:i386 libqt4-dbus:i386 libqt4-network:i386 libqt4-xml:i386 libqtcore4:i386 libqtdbus4:i386 libqtgui4:i386 libqtwebkit4:i386 libsamplerate0:i386 libschroedinger-1.0-0:i386 libselinux1:i386 libsm6:i386 libsndfile1:i386 libspeex1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386 libstdc++6:i386 libtasn1-3:i386 libtheora0:i386 libtiff4:i386 libuuid1:i386 libva1:i386 libvorbis0a:i386 libvorbisenc2:i386 libvpx1:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libx264-123:i386 libxau6:i386 libxcb1:i386 libxdmcp6:i386 libxext6:i386 libxi6:i386 libxml2:i386 libxrender1:i386 libxss1:i386 libxt6:i386 libxtst6:i386 libxv1:i386 libxvidcore4:i386 zlib1g:i386
Following screenshot show the tail of this uninstallation.
Note that it is only touching i386 packages. You should take extra care when pasting your saved dependency list, I would suggest to keep non i386 packages (but there isn’t any)…
Step 5.5: Remove MultiArch i386 from 64-Bit Kali Linux
Now remove MultiArch i386, check
/var/lib/dkpg/arch
file and do an apt-get update
root@kali:~/Skype# dpkg --remove-architecture i386
root@kali:~/Skype# cat /var/lib/dpkg/arch
amd64
root@kali:~/Skype# apt-get update
That’s it, you’re all set. try installing something as trivial as
htop
or nethogs
to ensure you can actually install packages and nothing else is broken.root@kali:~/Skype# apt-get install htop
root@kali:~/Skype# apt-get install nethogs
No error? Nice, that’s what we expect from any installation.
Conclusion
Most Linux installations has a way to reverse it, well most of those. You should always try to find a post that says how to reverse something just to be on safe side. The above changes can be made in Virtual Environment, so feel free to test them and let me know how it went.
But at the end of this lengthy process, I started thinking myself if installting Skype was worth the trouble? I mean if you decide to keep Skype and have MultiArch enabled, you will get i386 updates as well as 64-Bit updates. I can not say if you will have problems in future because of MultiArch… All I can say that you can try to use a Skype replacement that’s supported natively on Linux. There’s lots of packages like that, Goober Messenger, Ekiga, Linphone, OoVoo, Empathy, SFLphone, Twinkle, Yate VoIP, QuteCom, Jitsi, Blink, Reflapetc. There you go, something to think about.
Thanks for reading.
If this worked for you, please share this article and like us on Facebook/Twitter.