Рішення є досить складним, тому переконайтеся, що ви читаєте і ретельно дійте. Під час підготовки до цього переконайтеся, що ви включили всі джерела пакетів, щоб ваш /etc/apt/sources.list
вигляд виглядав таким чином і зробили оновлення:
sudo apt-get update
sudo apt-get dist-upgrade
reboot
Щоб встановити стару версію:
Тоді в якості першого кроку потрібно видалити існуючу версію gedit. Для цього запустіть у своєму терміналі наступні команди ( ctrl+ alt+ t):
# this installs the build dependencies
sudo apt-get build-dep gedit gedit-plugins
sudo apt-get install moreutils
# this uninstalls the 3.18.3 version of gedit, gedit-dev,
# gedit-plugins and gedit-common and should get rid of everything else
# installed for gedit
sudo apt-get remove gedit gedit-dev gedit-plugins gedit-common
Тепер підготуйте каталог для роботи. Для зручності ми робимо це у нашому домашньому довіднику.
# creating directory and switching to it
mkdir ~/gedit-downgrade
cd ~/gedit-downgrade
Наступним кроком є створення wget-list
файлу для полегшення завантаження (ви можете скопіювати та вставити все поле у свій термінал). Якщо ви не використовуєте 64-бітну систему, ви можете знайти відповідні посилання для i386 тут .
cat > wget-list << "EOF"
http://mirrors.kernel.org/ubuntu/pool/main/g/gedit/gedit-common_3.10.4-0ubuntu13_all.deb
http://mirrors.kernel.org/ubuntu/pool/main/g/gedit/gedit_3.10.4-0ubuntu13_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/main/g/gedit/gedit-dev_3.10.4-0ubuntu13_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/g/gedit-developer-plugins/gedit-developer-plugins_0.5.15-0ubuntu1_all.deb
http://mirrors.kernel.org/ubuntu/pool/universe/g/gedit-latex-plugin/gedit-latex-plugin_3.8.0-3build1_all.deb
http://mirrors.kernel.org/ubuntu/pool/universe/g/gedit-plugins/gedit-plugins_3.10.1-1ubuntu3_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/g/gedit-r-plugin/gedit-r-plugin_0.8.0.2-Gtk3-Python3-1ubuntu1_all.deb
http://mirrors.kernel.org/ubuntu/pool/universe/g/gedit-source-code-browser-plugin/gedit-source-code-browser-plugin_3.0.3-3_all.deb
http://mirrors.kernel.org/ubuntu/pool/universe/g/gedit-valencia-plugin/gedit-valencia-plugin_0.8.0-0ubuntu2_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/r/rabbitvcs/rabbitvcs-gedit_0.16-1_all.deb
http://mirrors.kernel.org/ubuntu/pool/universe/s/supercollider/supercollider-gedit_3.6.6~repack-2-1build1_all.deb
EOF
Тепер у вас є цей wget-list
файл, ви можете завантажувати все за один раз, ввівши wget -i wget-list
, нехай завантажуються файли і потім розпочнеться установка.
Будь ласка, виконайте наступні кроки один за одним, і якщо ви зіткнетеся з помилками залежності, просто зробіть це, sudo apt-get remove <package-name>
що відображає проблеми, що створюють проблеми, а потім встановіть вручну залежно, sudo apt-get install <package-name>
після чого переведіть рядок dpkg знову. Не варто, і я маю на увазі не запускати, sudo apt-get -f install
поки ви намагаєтеся встановити: це зіпсує все.
Тепер почнемо з основних пакетів (перевірених та працюючих над чистою установкою 16.04 LTS):
# install gedit-common (essential needed)
sudo dpkg -i gedit-common_3.10.4-0ubuntu13_all.deb
# install gedit (essential needed)
sudo dpkg -i gedit_3.10.4-0ubuntu13_amd64.deb
# install gedit-dev (essential needed)
sudo dpkg -i gedit-dev_3.10.4-0ubuntu13_amd64.deb
# install gedit-plugins (essential needed)
# here are some steps needed follow them carefully
# unpacking the .deb file
sudo dpkg-deb -R gedit-plugins_3.10.1-1ubuntu3_amd64.deb tmp
# editing tmp/DEBIAN/control:
# change 'python3 (<< 3.5), python3 (>= 3.4~), python3.4' to 'python3 (>= 3.5~), python3.5'
sed 's/python3 (<< 3\.5), python3 (>= 3\.4~), python3\.4/python3 (>= 3.5~), python3.5/' tmp/DEBIAN/control | sudo sponge tmp/DEBIAN/control
# editing tmp/DEBIAN/postinst
# change 'py3compile -p gedit-plugins /usr/lib/x86_64-linux-gnu/gedit/plugins -V 3.4' to
# 'py3compile -p gedit-plugins /usr/lib/x86_64-linux-gnu/gedit/plugins -V 3.5'
sed 's/3\.4/3.5/' tmp/DEBIAN/postinst | sudo sponge tmp/DEBIAN/postinst
# packing a new .deb file
sudo dpkg-deb -b tmp gedit-plugins_3.10.1-1ubuntu4_amd64.deb
# changing ownership of the new .deb file replace username with your username
sudo chown username:username gedit-plugins_3.10.1-1ubuntu4_amd64.deb
# removing tmp
sudo rm -rfv tmp
# installing it
sudo dpkg -i gedit-plugins_3.10.1-1ubuntu4_amd64.deb
Наступні пакети є лише необов’язковими, і ви повинні мати можливість їх легко встановити, залежність для завантаження задається та тестується на чистій установці 16.04 LTS, як описано вище.
# install gedit-developer-plugins (optional)
sudo apt-get install python-pocket-lint
sudo dpkg -i gedit-developer-plugins_0.5.15-0ubuntu1_all.deb
# install gedit-latex-plugin (optional)
sudo apt-get install rubber
sudo dpkg -i gedit-latex-plugin_3.8.0-3build1_all.deb
# install gedit-r-plugin (optional but needs gedit-plugins)
sudo dpkg -i gedit-r-plugin_0.8.0.2-Gtk3-Python3-1ubuntu1_all.deb
# install gedit-source-code-browser-plugin (optional)
sudo apt-get install ctags
sudo dpkg -i gedit-source-code-browser-plugin_3.0.3-3_all.deb
# install gedit-valencia-plugin (optional)
# unpacking .deb file
sudo dpkg-deb -R gedit-valencia-plugin_0.8.0-0ubuntu2_amd64.deb tmp
# edit tmp/DEBIAN/control
# change 'libvala-0.28-0 (>= 0.15.1)' to 'libvala-0.30-0 (>= 0.15.1)'
# change 'libvte-2.90-9 (>= 1:0.27.2)' to 'libvte-2.91-0 (>= 0.27.2)'
sed -e 's/libvala-0\.28-0 (>= 0\.15\.1)/libvala-0.30-0 (>= 0.15.1)/' -e 's/libvte-2\.90-9 (>= 1:0\.27\.2)/libvte-2.91-0 (>= 0.27.2)/' tmp/DEBIAN/control | sudo sponge tmp/DEBIAN/control
# packing a new .deb file
sudo dpkg-deb -b tmp gedit-valencia-plugin_0.8.0-0ubuntu3_amd64.deb
# changing ownership of the new .deb file replace username with your username
sudo chown username:username gedit-valencia-plugin_0.8.0-0ubuntu3_amd64.deb
# removing tmp
sudo rm -rfv tmp
# installing it
sudo dpkg -i gedit-valencia-plugin_0.8.0-0ubuntu3_amd64.deb
# install rabbitvcs-gedit (optional)
sudo apt-get install rabbitvcs-core
sudo dpkg -i rabbitvcs-gedit_0.16-1_all.deb
# install supercollider-gedit (optional)
sudo apt-get install supercollider-language
sudo dpkg -i supercollider-gedit_3.6.6~repack-2-1build1_all.deb
Тепер ви повинні переконатися, що пакети не будуть змінені під час запуску оновлення, тому переконайтеся, що лише вказати встановлені пакети:
# now protecting this all from upgrading
sudo apt-mark hold gedit-common gedit gedit-dev gedit-developer-plugin gedit-latex-plugin gedit-plugins gedit-r-plugin gedit-source-code-browser-plugin gedit-valencia-plugin rabbitvcs-gedit supercollider-gedit
Щоб змінити весь процес, виконайте такі дії:
# removing protection from upgrades
sudo apt-mark unhold gedit-common gedit gedit-dev gedit-developer-plugin gedit-latex-plugin gedit-plugins gedit-r-plugin gedit-source-code-browser-plugin gedit-valencia-plugin rabbitvcs-gedit supercollider-gedit
# simply do an upgrade
sudo apt-get update
sudo apt-get dist-upgrade
Чи існує сценарій для цього?
Так, я навіть створив сценарій для автоматизації всього процесу, ви можете отримати його тут або:
wget https://github.com/Videonauth/gdowngrade/blob/master/gdowngrade.sh
Потім запустити його:
chmod 755 ./gdowngrade.sh
sudo ./gdowngrade.sh
Це створить для вас спеціальний файл, який називається, gupgrade.sh
який дозволяє перевернути весь процес просто:
sudo ./gupgrade.sh