Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

24 Октябрь 2019, 03:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Установка OpenOffice.org из deb пакетов  (Прочитано 4428 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Стартовое сообщение: 6 Июнь 2010, 16:39 »

Скрипт автоматической установки ООо из файлов *.tar.gz содержащих deb-пакеты.
Есть отчаянные головы желающие попробовать?
Просто скормите ему архив.
Ругайте, совершенствуйте.

Код:
#!/bin/bash

# Скрипт установки OpenOffice.org из deb пакетов
# Скрипт доступен на условиях GNU GPL. Автор dr.Faust e-mail: dr_faust@inbox.ru
 
# Для включения режима отладки раскомментировать следующую строку
#set -x
#ARGS=1
#if [ $# -ne "$ARGS" ]
if [ ! -r "$1" ]
then
echo "________________________________"
echo "Неправильное использование скрипта."
echo "Вы должны использовать комманду похожую на:"
echo "'"$0"' '~/путь_к_файлу_дистрибутива' (обычно что-то навроде OOo_3.x.x_Linux_x86_install-deb_ru.tar.gz)"
echo "Загрузить необходимые архивы можно со следующих страниц:"
echo "http://go-oo.org/download/"
echo "http://download.openoffice.org/index.html"
echo "http://i-rs.ru/Skachat"
echo "________________________________"
exit 64
fi
if [ -e $1 ]
then
# Установим временный каталог для распаковки архива
TMPDIR=/tmp/OOo-packets
# Если католог существует - будем искать альтернативу...
if [ -f "$TMPDIR" ]
then
n=1
TMPDIRal=$TMPDIR$n
while [ -e "$TMPDIRal" ]
do
n=$(expr $n + 1)
#let "n=n+1"
TMPDIRal=$TMPDIR$n
done
TMPDIR=$TMPDIRal
fi
mkdir $TMPDIR
# Временный каталог выбран и создан

# Распакуем архив...
if [ -d "$TMPDIR" ]
then
echo "Распаковываем архив..."
tar -xvf $1 --directory=$TMPDIR
else
echo "Невозможно создать  временный каталог для распаковки."
echo "Выход."
exit 88
fi

# Будем искать папку DEBS во временном каталоге...
if [ -d "$TMPDIR"/DEBS"" ]
then
DEBSDIR=$TMPDIR"/DEBS"
else
# ... и его подкатологах
DISDIRS=( `ls $TMPDIR` )
for DISDIR in ${DISDIRS[@]}
do
echo $DISDIR
if [ -e "$TMPDIR"/"$DISDIR"/DEBS"" ]
then
DEBSDIR=$TMPDIR"/"$DISDIR"/DEBS"
fi
done
fi

# Выйдем из сценария если такая папка не найдена
if [ $DEBSDIR == "" ]
then
echo "Неизвестный архив дистрибутива - директория DEBS не найдена."
exit 71
fi
echo "Директория DEBS найдена."

echo "Проверяем наличие Java."
if dpkg -s sun-javadb-client | grep "Status: install ok installed"
then
echo "Java уже установлена."
else
echo "Устанавливаем Java."
sudo apt-get install -y sun-javadb-client
if dpkg -s sun-javadb-client | grep "Status: install ok installed"
then
echo "Java установлена."
else
echo "Что-то пошло не так при установке Java."
echo "Попробуем ещё раз..."
sudo apt-get install -y sun-javadb-client
fi
fi

# Удаляем профили ООо
echo "Удаляем пользовательские профили OOo..."
echo "Для продолжения необходим пароль"
sudo rm -rf /home/*/.openoffice.org

echo "Удаляем предыдущую версию OpenOffice.org"
sudo apt-get purge -y openoffice.org-core openoffice.org-common openoffice.org-l10n-* ure uno-libs3

echo "Устанавливаем OpenOffice.org"
sudo dpkg -i "$DEBSDIR"/*.deb""
sudo dpkg -i "$DEBSDIR"/desktop-integration/*.deb""

# Убираем мусор
rm -rf $TMPDIR
exit 0
else
echo "________________________________"
echo "Файл архива "$1" не существует."
echo "Вы должны использовать комманду похожую на:"
echo "'"$0"' '~/путь_к_файлу_дистрибутива' (обычно что-то навроде OOo_3.x.x_Linux_x86_install-deb_ru.tar.gz)"
echo "Загрузить необходимые архивы можно со следующих страниц:"
echo "http://go-oo.org/download/"
echo "http://download.openoffice.org/index.html"
echo "http://i-rs.ru/Skachat"
echo "________________________________"
exit 65
fi
Записан

Свобода информации - свобода личности!
prof-alex
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 354


« Ответ #1: 14 Июнь 2010, 08:35 »

Насчёт временного каталога. Всё украдено придумано до нас:
Цитата:
NAME
       mktemp - create a temporary file or directory

SYNOPSIS
       mktemp [OPTION]... [TEMPLATE]

DESCRIPTION
       Create  a  temporary file or directory, safely, and print its name.  TEMPLATE must contain at least 3 con-
       secutive `X's in last component.  If TEMPLATE is  not  specified,  use  tmp.XXXXXXXXXX,  and  --tmpdir  is
       implied.

       -d, --directory
              create a directory, not a file

       -u, --dry-run
              do not create anything; merely print a name (unsafe)

       -q, --quiet
              suppress diagnostics about file/dir-creation failure

       --suffix=SUFF
              append SUFF to TEMPLATE.  SUFF must not contain slash.  This option is implied if TEMPLATE does not
              end in X.

       --tmpdir[=DIR]
              interpret TEMPLATE relative to DIR.  If DIR is not specified, use $TMPDIR if set, else /tmp.   With
              this  option, TEMPLATE must not be an absolute name.  Unlike with -t, TEMPLATE may contain slashes,
              but mktemp creates only the final component.

       -p DIR use DIR as a prefix; implies -t [deprecated]

       -t     interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set;  else
              the directory specified via -p; else /tmp [deprecated]

       --help display this help and exit

       --version
              output version information and exit
Т.е. хватило бы
Код:
TMPDIR=`mktemp -d -t OOo-packets.XXXXXX` || { echo "Не удалось создать временный каталог!" >&2 ; exit 1; }

Удаление пользовательского профиля разве не нужно делать отключаемым? Вдруг кого-то это не устроит. Да и само расположение профиля иногда разнится, можно не попасть.
« Последнее редактирование: 14 Июнь 2010, 08:50 от prof-alex » Записан


«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации» Э. Дейкстра
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!