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. 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:

  1. Install Skype from Microsoft’s official skype-install.deb package using MultiArch (i386).
  2. Remove Skype
  3. Clean your broken dependencies
  4. 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.

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

1 - Install Skype in Kali Linux - dpkg --add-architecture i386 - blackMORE Ops

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.

2 - Install Skype in Kali Linux - cat var-lib-dpkg-arch - blackMORE Ops

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.

3 - Install Skype in Kali Linux - wget skype - blackMORE Ops

Now that we have downloaded Skype package, we can try to install it using dpkgcommand. (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

4 - Install Skype in Kali Linux - dpkg -i skype-install.deb - blackMORE Ops

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 toStep 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 installation

root@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

5 - Install Skype in Kali Linux - apt-get install gdebi - blackMORE Ops

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

6 - Install Skype in Kali Linux - dpkg --remove-architecture i386 - blackMORE Ops

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

 

7 - Install Skype in Kali Linux - autoremove- autoclean - blackMORE Ops

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

8 - Install Skype in Kali Linux - apt-get remove skype - blackMORE Ops

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 thatapt-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

9 - Install Skype in Kali Linux - dpkg --remove-architecture i386 - blackMORE Ops

 

root@kali:~/Skype# apt-get update
root@kali:~/Skype# apt-get install gdebi

10 - Install Skype in Kali Linux - apt-get install gdebi - blackMORE Ops

Nice. Worked like a charm. Now we can install Skype with all it’s dependencies usinggdebi.

 

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

11 - Install Skype in Kali Linux - dpkg --add-architecture i386 - blackMORE Ops

 

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.debpackage.

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

 

12 - Install Skype in Kali Linux - gdebi skype-install.deb - blackMORE Ops

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 :i386at 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.

13 - Install Skype in Kali Linux - Run Skype - blackMORE Ops

Agree to the Terms and Conditions and choose language (your right’s for privacy and NSA to snoop onto you etc. etc..)

14 - Install Skype in Kali Linux - SKype EULA in Linux - blackMORE Ops

Finally you get your Skype. Login and enjoy.

15 - Install Skype in Kali Linux - Skype in Kali Linux - blackMORE Ops

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 command

root@kali:~/Skype# apt-get remove skype

16 - Install Skype in Kali Linux - apt-get remove skype - blackMORE Ops

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

17 - Install Skype in Kali Linux - dpkg --remove-architecture i386 - blackMORE Ops

Nope, we are having exactly the same issue as before (see Step 3). Even afterautoclean, autoremove and purge you will have the same issue (well autoremovewill 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

18 - Install Skype in Kali Linux - autoremove autoclean purge - blackMORE Ops

 

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.

19 - Install Skype in Kali Linux - Remove remaining i386 dependencies - blackMORE Ops

 

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

20 - Install Skype in Kali Linux - Remove MultiArch i386 from 64-Bit Kali Linux - blackMORE Ops

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.

Advertisement

Leave a reply

Please enter your comment!
Please enter your name here