Има един много лесен начин, който ви позволява да смесвате и в същото време да съвпадат зависимостите м/у stable, testing и unstable sources.Чрез този подход ще можете да ползвате в по-голяма степен Stable версия, но също така ще имате и най-новите пакети, които ви интересуват.
Ще попитате, защо направо не минем на Testing или Unstable? Отговора е много прост, а именно, че Stable се гарантирани от Security Team, докато Testing и Unstable не.
Нека да започнем
1. Трябва да си добавите testing и unstable sources в /etc/apt/sources.list. Ето го и моят sources.list
- Код за потвърждение: Избери целия код
deb http://debian.ludost.net/debian/ stable main
deb-src http://debian.ludost.net/debian/ stable main
deb ftp://ftp.bg.debian.org/debian/ stable main contrib non-free
deb ftp://ftp.bg.debian.org/debian/ testing main contrib non-free
deb ftp://ftp.bg.debian.org/debian/ unstable main contrib non-free
deb-src ftp://ftp.bg.debian.org/debian/ stable main contrib non-free
deb-src ftp://ftp.bg.debian.org/debian/ testing main contrib non-free
deb-src ftp://ftp.bg.debian.org/debian/ unstable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
deb ftp://ftp.uni-sofia.bg/debian-addons-bg/ ./
deb ftp://ftp.nerim.net/debian-marillat/ sarge main
deb ftp://ftp.nerim.net/debian-marillat/ etch main
deb ftp://ftp.nerim.net/debian-marillat/ sid main
2. Следва да променим или създадем файла /etc/apt/preferences. Най-често, най-високата версия от съществуващите пакети печели, но ние ще променим това. Ето и нашият файл какво съдържание има:
- Код за потвърждение: Избери целия код
Package: *
Pin: release a=stable
Pin-Priority: 700
Package: *
Pin: release a=testing
Pin-Priority: 650
Package: *
Pin: release a=unstable
Pin-Priority: 600
3. Трябва да си обновим съдържанието в хранилището, т.е.
- Код за потвърждение: Избери целия код
apt-get update
4. Инсталиране на пакети
За да инсталирате нови пакети, процедурата е както преди, т.е. apt-get install <пакет>. Ако пакета съществува само в Stable, ще го грабне и инсталира. Ако съществува само в Unstable, тогава ще го вземе от там.
Възниква въпроса ако съществува и на двете места, но ние искаме Unstable, какво да правим? Има два подхода:
- apt-get install <пакет>/unstable
Така ще се инсталира Unstable версията на пакета и ще се опита да нагласи и зависимостите от Stable. Това има вероятност и да не работи, защото ще ви даде грешка :
- Код за потвърждение: Избери целия код
...........
E: Sorry, broken packages
, т.е. проблем със зависимостите или по-точно с техните версии.
- apt-get -t unstable install <пакет>
По този начин ще се инсталира не само Unstable версията на пакета, но и съответните зависимости от Unstable.
Пример :
1. Ето какво се получава по-първият начин
- Код за потвърждение: Избери целия код
# apt-get install zsh/unstable
Reading Package Lists... Done
Building Dependency Tree... Done
Selected version 4.0.6-7 (Debian:unstable) for zsh
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:
Sorry, but the following packages have unmet dependencies:
zsh: Depends: libc6 (>= 2.2.5-13) but 2.2.5-11.1 is to be installed
E: Sorry, broken packages
2. Ето го и нашето решение
- Код за потвърждение: Избери целия код
# apt-get -t unstable install zsh
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
libc6 libc6-dev libc6-pic libdb1-compat locales
The following NEW packages will be installed:
libdb1-compat
5 packages upgraded, 1 newly installed, 0 to remove and 394 not upgraded.
Need to get 11.6MB of archives. After unpacking 606kB will be used.
Do you want to continue? [Y/n]
:twisted:
Изтoчник:Основен