Автор Гілка: Пакети в Ubuntu  (Прочитано 2247 раз)

Відсутній D00M

  • Новачок
  • *
  • дописів: 15
  • Карма: +0/-0
Пакети в Ubuntu
« : 2006-11-01 14:40:35 »
Шановне панство!
Підкажіть будь-ласка, чи можливо на комп з установленим Ubuntu 6.06 яким небудь чином перенести обновлення з іншого компа з такою ж ОС, який має вихід в Інтернет ? Або може ці обновлення як-небудь можна кешувати для загального використання?
Debian GNU/Linux фанат

Praporshic

  • Гість
Re: Пакети в Ubuntu
« Відповідей #1 : 2006-11-01 14:43:07 »
Не знаю як в убунті, а от у дебіані apt зберігає все, що завантажив у /var/cache/apt/archives

Відсутній D00M

  • Новачок
  • *
  • дописів: 15
  • Карма: +0/-0
Re: Пакети в Ubuntu
« Відповідей #2 : 2006-11-01 14:53:35 »
Дуже вам вдячний!
В Убунту все виявилося там же! :)
Linux forever!
Debian GNU/Linux фанат

Відсутній borman

  • Графоман
  • ****
  • дописів: 416
  • Карма: +0/-0
  • Debianizer
Re: Пакети в Ubuntu
« Відповідей #3 : 2006-11-03 09:27:51 »
"Витяг" з перекладу нової версії APT HOWTO:
Цитата
7.2 Кешування пакунків

Якщо ви маєте справу з декількома машинами в мережі, можливо, корисним було б використовувати систему кешування пакунків, щоб не стягувати пакунки для кожної машини окремо. В цьому підручнику йтиметься про пакунок apt-proxy, що дозволяє створити таку систему. Хоча, існують і інші рішення — наприклад, apt-cacher. Ви маєте можливість спробувати їх усі і визначитись з найкращим для себе вибором.

Перш за все, встановіть пакунок apt-proxy. Він зареєструє себе в inetd для очікування запитів по 9999 порту. Можливо, вам знадобиться перезапустити службу inetd.

Після цього потрібно відредагувати файл /etc/apt-proxy/apt-proxy.conf, в якому перераховані справжні сервери, з яких apt-proxy завантажуватиме списки пакунків та власне самі пакунки. В якості методів передачі даних можна використовувати http, ftp та rsync. Стандартний файл з налаштуваннями „бекендів“ (backend) виглядає приблизно так:

     add_backend /debian/                 \
             $APT_PROXY_CACHE/debian/        \
             http://ftp.us.debian.org/debian/       \
             http://ftp.de.debian.org/debian/      \
             http://ftp.uk.debian.org/debian/      \
             +ftp.us.debian.org::debian/

Це означає, що кожного разу, коли клієнт намагається щось отримати з теки /debian/, apt-proxy буде використовувати свій кеш, перераховані http-дзеркала Debian та один rsync-сервер, якому надається перевага при завантаженні списку пакунків (наявність знаку „+“ свідчить про надання переваги даному серверу при завантаженні файлів control).

Отже, як клієнт може використовувати цей „бекенд“? Додавши наступний рядок до файлу /etc/apt/sources.list на стороні клієнта (включаючи машину, на якій встановлено apt-proxy):

     deb http://server:9999/debian/ stable main

Рядок виглядає як звичайний. Відмінність полягає в тому, що там, де зазвичай вказується http- або ftp-дзеркало, ви вказуєте ваш apt-proxy-сервер, використовуючи значення порту 9999 і потім вибираєте „бекенд“. По завершенню всіх цих налаштувань, спочатку на одній з машин оновіть список пакунків та оновіть всі пакунки до нових версій; таким чином, пакунки будуть стягуватись з серверу тільки один раз. Після оновлення першої машини можна оновлювати й інші.

Для імпортування пакунків, що входять в ваш поточний кеш APT можна скористатись командою apt-proxy-import, запустивши apt-proxy-import /var/cache/apt/archives. Зверніть увагу, що перед використанням apt-proxy-import вам необхідно запустити процес оновлення на хоча б одному з клієнтів кеша apt-proxy.

Ви можете дізнатись більше про apt-proxy, прочитавши коментарі в файлі /etc/apt-proxy/apt-proxy.conf. Наприклад, в кінці файлу ви знайдете приклади налаштувань використання apt-proxy з http- або ftp-проксі.
dd if=/dev/zero of=/dev/null

Відсутній PAL

  • Графоман
  • ****
  • дописів: 317
  • Карма: +0/-0
  • Just linux admin
Re: Пакети в Ubuntu
« Відповідей #4 : 2006-11-06 08:18:52 »
Вибачаюся, шановне панство, а чи ніхто не підкаже, чи є у apt система пошуку файла у пакунках за ім'ям (часткою імені) - щось на зразок yum provides ?

А то тут довелося працювати з apt, так ото знайти щось, якщо не знаєш, де лежить - чимала проблема.

Відсутній borman

  • Графоман
  • ****
  • дописів: 416
  • Карма: +0/-0
  • Debianizer
Re: Пакети в Ubuntu
« Відповідей #5 : 2006-11-06 08:36:37 »
Можна використовувати команди aptitude, apt-cache, apt-file, dpkg. Для різних команд метод search дозволяє здійснювати пошук по назвах пакунків, їх описах, вмісту. Aptitude дозволяє в якості рядка пошуку використовувати регулярні вирази (більш детально про це можна прочитати тут: http://www.cluster.kiev.ua/borman/apt-howto/200609/ch-apt-get.uk.html#s-searching). Apt-cache шукає по назвах і описах пакунків (навіть не встановлених в системі), apt-file дозволить знайти який пакунок забезпечує той чи інший файл (шукає по всіх доступних на дзеркалах), dpkg -- те ж саме, але вже для встановлених в системі. Багато інформації можна отримати і через Інтернет.

Більше детально про це (але в основному для Debian): http://www.cluster.kiev.ua/borman/apt-howto/200609/ch-search.uk.html
« Змінено: 2006-11-06 09:39:16 від borman »
dd if=/dev/zero of=/dev/null

Відсутній D00M

  • Новачок
  • *
  • дописів: 15
  • Карма: +0/-0
Re: Пакети в Ubuntu
« Відповідей #6 : 2006-11-06 12:52:34 »
Кх-кх. Доброго дня!
Пакети я звичайно скинув на флешку і переніс на домашній комп.
Але! По-перше програма GDebi відкриває пакунки по одному, і , в свою чергу, виникли проблеми з взаємними залежностями програм. По-друге, інсталювати вручну 94 пакети по одному дуже марудна справа  :(.
Підкажіть, будь-ласка, чи можна шляхом простого переносу файлів на змінному накопичувачі обновляти систуму Убунту на машинах, що не підключені між собою (домашній комп в мене без інтернету  :()? Створювати локальний репозитарій я не силі... Як скопом (всі відразу) інсталювати пакунки , наприклад, з окремої папки?
Debian GNU/Linux фанат

Praporshic

  • Гість
Re: Пакети в Ubuntu
« Відповідей #7 : 2006-11-06 12:55:16 »
dpkg -i *.deb  ;)

Відсутній D00M

  • Новачок
  • *
  • дописів: 15
  • Карма: +0/-0
Re: Пакети в Ubuntu
« Відповідей #8 : 2006-11-06 13:15:24 »
Дякую, занотував.
Буду вдома пробувати.
Про результати і враження напишу завтра.
Debian GNU/Linux фанат

Відсутній borman

  • Графоман
  • ****
  • дописів: 416
  • Карма: +0/-0
  • Debianizer
Re: Пакети в Ubuntu
« Відповідей #9 : 2006-11-06 13:36:25 »
dpkg -i *.deb
Якщо так, то мабуть ще потрібно буде додати --force-all, хоча цей шлях не надто гарний. Якщо в теці не виявиться деяких залежностей матимемо "поламану" систему.

Схоже, що найкращий коефіцієнт для "надійність/простота" буде у варіанта створити власне локальне сховище. Це дуже просто:
  • Копіюєте всі необхідні .deb-файли до відповідної теки (наприклад, /home/user/repository/)
  • Входите до цієї теки (cd /home/user/repository/)
  • Створюєте файл Packages.gz (dpkg-scanpackages . /dev/null | gzip -9c > binary/Packages.gz)
  • Додаєте до файлу /etc/apt/sources.list відповідний запис (deb file:///home/user repository/)
  • Оновлюєте список пакунків та систему (apt-get update && apt-get upgrade або aptitude update && aptitude upgrade)

Успіхів!  ;) Детальніше про сховища можна прочитати тут.
dd if=/dev/zero of=/dev/null

Відсутній D00M

  • Новачок
  • *
  • дописів: 15
  • Карма: +0/-0
Re: Пакети в Ubuntu
« Відповідей #10 : 2006-11-07 09:54:29 »
Доброго дня!
Пробував вчора dpkg -i *.deb на домашньому компі.
Спішу вас порадувати, що все в такому випадку працює на ура, так як залежності автоматично були віришені на машині, що підключена до інтернету.
Таким чином, МОЖНА робити апдейти ПЗ на машинах, що не підключені до інету, але мають ідентичну систему (наприклад, в КУбунту їх поставити я ще не пробував).
Debian GNU/Linux фанат