Бъдещият stable (wheezy) е замразен, налага се да чакаме новите версии. Да, но на мен ми трябват сега, и дори те са достатъчно стари...
... как да сложа GIMP 2.8 (от unstable) на Дебиан stable, и то без да го счупя?
Решението: ръчен контрол - apt-get има няколко предпазни средства, статията е за тях. Предложенията са валидни за всички Дебиан базирани.*
* Повечето биха си инсталирали Убунту, но ако са се насочили на там - по-добре си сложете Linux Mint, тяхната политика е да задържат счупените пакети докато не се закърпят и затова почти всичко е ново както при Дебиан unstable, но за разлика от Убунту не пускат "сурови" и счупени пакети (въпреки това в Mint 13 инсталацията на GIMP 2.8 става с добавяне на ppa хранилище, а в Mint 12 това е невъзможно);
Опция - без инсталация.
Някои програми НЕ се инсталират - разархивираш и ползваш; пример: Skype, Blender 2.63 и т.н. При това независимо, че съм на stable.
Уточнение:
- инсталирах Debian stable
- обнових до testing пакети (с малки изключения)
- основна графична среда: LXDE тя просто работи (далеч от шумните промени в КДЕ 4 и Гном 3)
- пак ползвам програми от Гном и КДЕ*
*Вярно е, че КДЕ има много зависимости и това усложнява задачата, но за единични случаи може да се прави компромис. Инсталирах KWrite/Kate защото Gedit имаше проблем със зависимостите - питонски работи...
Резултатът е...
- Код за потвърждение: Избери целия код
lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 6.0.5 (squeeze)
Release: 6.0.5
Codename: squeeze
cat /etc/debian_version
wheezy/sid
uname -rs
Linux 3.1.0-1-686-pae
Как става:
1. Добавяте хранилищата на testing и unstable
- Код за потвърждение: Избери целия код
### sid
# deb ftp://ftp.us.debian.org/debian/ unstable main contrib non-free
# deb-src ftp://ftp.us.debian.org/debian/ unstable main contrib non-free
### Testing - wheezy
# deb http://ftp.es.debian.org/debian/ wheezy main contrib non-free
# deb-src http://ftp.es.debian.org/debian/ wheezy main contrib non-free
Ползвам ги само в краен случай затова са "коментирани" с #
2. Инсталираме apt-listbugs
- Код за потвърждение: Избери целия код
apt-get apt-listbugs
Пример:
- Код за потвърждение: Избери целия код
apt-listbugs list icedove
... показва 1 сериозен бъг и то в stable ??? (оставам си на старата версия).
Освен това, при нормална исталация, apt-listbugs проверява автоматично, докладва за бъг и пита дали инсталацията да продължи или не. Понякога тези доклади за бъгове са просто излишни забележки и може да се пренебрегват, но понякога предпазват от главоболия. Обикновено проверката в Гооооогле е достатъчна да разберем дали проблема е сериозен или не.
3. Полезни опции на apt
3.1. Без инсталиране на препоръчаните пакети (това свежда до минимум вероятността да оплетем зависимостите на по-големите програми)
- Код за потвърждение: Избери целия код
apt-get install --no-install-recommends <name>
3.2. APT може да бъде симулант - не инсталира, а само показва какво ще стане ако инсталираме:
- Код за потвърждение: Избери целия код
apt-get -s install <name>
3.3. Инсталация на отделен пакет от testing и unstable
- Код за потвърждение: Избери целия код
apt-get -t testing install <name>
apt-get -t unstable install <name>
или...
- Код за потвърждение: Избери целия код
apt-get -t testing -s install <name> /---- симулира инсталация на пакет от testing/unstable ----/
apt-get -t unstable -s install <name>
4. При цялостен upgrade от stable към testing
- Код за потвърждение: Избери целия код
apt-get update & apt-get upgrade
На въпроса "Do you want to continue [Y/n]?" отговарям с НЕ и просто копирам дългия списък за upgrade в текстов файл и започвам на части по 10-20 пакета да ъпгрейдвам. Това е малко досадно и бавно, но е по-сигурно. Освен това не се прави често.
- Код за потвърждение: Избери целия код
apt-get install ...
5. Почистване:
- коментираме хранилищата на testing и unstable, за да си спестим неприятни изненади при редовния upgrade;
- ако всичко работи нормално, след 1-2 седмици почистваме apt... (т.е. чистим /var/cache/apt/archive), ето как:
- Код за потвърждение: Избери целия код
apt-get update
apt-get clean
apt-get autoclean