1

Today, as I've issued the apt-get upgrade command, I've noticed there is Skype update in the list. I am absolutely happy with the old Skype 2.2.0.35 Beta and definitely don't want anything to change.

What I want is not only to forbid the package to update but to save it for future installations too. How can I achieve this?

Eliah Kagan
  • 119,640
Ivan
  • 58,745

2 Answers2

2

You want to keep a particular version of the package skype for the foreseeable future, even when newer versions are available, and even if you install Ubuntu again from scratch.

First, assuming this beta version is packaged the same way as the current version, there are actually two packages--skype, and skype-bin.

There are two things you must do, for each of these packages:

  1. Pin them at their current versions so they're left alone when you update software. That's been covered in this question:

  2. Keep copies of the .deb package files used to install them. You'll probably find them in /var/cache/apt/archives. Their names should begin with skype_2.2.0.35- and skype-bin_2.2.0.35- (and both end in .deb).

    Back them up, and if you have to reinstall Ubuntu from scratch or if you want to install this version of Skype on another machine, just install those packages. One way to install them is to run this command, after cding to the folder that contains the .deb files:

    sudo dpkg -i skype_2.2.0.35-*.deb skype-bin_2.2.0.35-*.deb
    

    If you're told one or both of these packages can't be completely configured because you don't have the necessary dependencies installed, make sure you're connected to the Internet and run these commands:

    sudo apt-get -f install
    sudo dpkg --configure -a
    

Finally, please note that if you continue to use an old version of Skype that is no longer supported upstream:

  • It may stop working, or stop working properly, over time.
  • It may contain security vulnerabilities fixed in later versions.
Eliah Kagan
  • 119,640
0

For forbidding updating it, you could pin the package.

First find out what priority it's being installed in with. here's an example

$ sudo apt-cache policy skype
skype:
  Installed: 4.0.0.8-1~precise
  Candidate: 4.0.0.8-1~precise
  Version table:
 *** 4.0.0.8-1~precise 0
        500 http://ppa.launchpad.net/upubuntu-com/chat/ubuntu/ precise/main amd64 Packages
        100 /var/lib/dpkg/status
     4.0.0.8-0oneiric1 0
        500 http://archive.canonical.com/ubuntu/ precise/partner amd64 Packages
$ 

Then you can create a file. The lowest priority in this example is 100, so anything below that should make the package not upgrade, despite newer versions being available.

Ubuntu looks for pinning instructions in /etc/apt/preferences.d/. For example, if you are using Ubuntu Precise (12.04), you can create this file telling it to set all packages named skype for precise with priority 90, which will make it prefer the current installed package (which has priority at least 100).

$ cat  /etc/apt/preferences.d/skype
Package: skype
Pin: release n=precise
Pin-Priority: 90

I was told you can do this with synaptic as well.

As for downloading the package, once you've pinned the version you want:

$ apt-get download skype
yuvilio
  • 3,419