Столкнулся я с проблемой что в репозиториях АльтЛинукса почему-то живёт совсем дремучая версия ЛибреОфиса.
Эта версия криво открывает многие файлы ворда, и экселя. Данный факт мегакритичен в школе. На момент создания этой записи в synaptic p7 до сих пор версия 4.2. Уже даже 4.4 умеет сносно открывать документы ms office.
В общем, чтобы линукс работал в школе нужна версия офиса самая свежая и этот вопрос надо как-то решить. Я почти сразу стал удалять с компов офис из репозитория и скачивать с офсайта каждую новую версию. Но, т.к. количество компов переведённых на линукс стало, наконец, заметно расти, появилась проблема с установкой новых версий всем. Некоторое время назад написал скрипт, который сильно облегчил работу мне. Сейчас я его в очередной раз обновил немного. Решил записать всё.
Итак. Скачиваем три архива для 64 бит с офсайта (на данный момент там версия 5.0.4). Все rpm файлы из архивов кидаем в папку lo64, удаляем только kde-integration. Запаковываем папку в файл lo64.tar.gz. Повторяем всё для 32 бит.
Запускаем первый скрипт:
1 2 3 4 |
#!/bin/bash echo "5.0.4">loserv.ver echo $(md5sum -b lo32.tar.gz|awk '{print$1}')>lo32.md5 echo $(md5sum -b lo64.tar.gz|awk '{print$1}')>lo64.md5 |
Создаём ещё пару скриптов: lo32.sh, lo64.sh, updlo32.sh, updlo64.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/sh v=`cat loserv.ver` wget http://мойсайт.ру/lo/lo32.md5 m=`cat lo32.md5` wget http://мойсайт.ру/lo/lo32.tar.gz if [ $? -eq 0 ]; then mf=$(md5sum -b lo32.tar.gz|awk '{print$1}') if [ $m == $mf ]; then apt-get -y --purge remove LibreOffice4* apt-get -y remove libreoffice5.0* apt-get -y remove libobasis5* tar xvfz lo32.tar.gz cd lo32/ rpm -Uvh *.rpm cd ../ echo $v>lo.ver fi fi rm -rf lo32* |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/sh v=`cat loserv.ver` wget http://мойсайт.ру/lo/lo64.md5 m=`cat lo64.md5` wget http://мойсайт.ру/lo/lo64.tar.gz if [ $? -eq 0 ]; then mf=$(md5sum -b lo64.tar.gz|awk '{print$1}') if [ $m == $mf ]; then apt-get -y --purge remove LibreOffice4* apt-get -y remove libreoffice5.0* apt-get -y remove libobasis5* tar xvfz lo64.tar.gz cd lo64/ rpm -Uvh *.rpm cd ../ echo $v>lo.ver fi fi rm -rf lo64* |
1 2 3 4 5 6 7 8 9 10 |
#!/bin/bash wget http://мойсайт.ру/lo/loserv.ver v1=`cat loserv.ver` v2=`cat lo.ver` if [ "$v1" != "$v2" ]; then wget http://мойсайт.ру/lo/lo32.sh /bin/sh /root/lo32.sh fi rm -f loserv.ver |
1 2 3 4 5 6 7 8 9 10 |
#!/bin/bash wget http://мойсайт.ру/lo/loserv.ver v1=`cat loserv.ver` v2=`cat lo.ver` if [ "$v1" != "$v2" ]; then wget http://мойсайт.ру/lo/lo64.sh /bin/sh /root/lo64.sh fi rm -f loserv.ver |
Закачиваем все получившиеся файлы, кроме, самого первого скрипта a.sh на сайт. У меня это, в виде примера, в скриптах, по такому адресу: http://мойсайт.ру/lo/
Ну и на том компьютере, где нужно обновить офис, выполняем от рута (для 64бит):
1 2 |
wget мойсайт.ру/lo/updlo64.sh /bin/bash updlo64.sh |