соурсы против пакетов
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
соурсы против пакетов - 2009-08-11 07:47:00.810000
|
|
|
seproaz
Сообщений: 21
Оценки: 0
Присоединился: 2009-07-13 10:14:36.943333
|
стоит у меня дебиан. устанавливаю с соурсов программы (./configure make & make install) и при этом с "synaptic package manager"ом удаляю предустановленную. было случае с bash-ом, после перезагрузки говорит bash не найден. что я неправильно сделал?
|
|
|
RE: соурсы против пакетов - 2009-08-11 10:24:34.980000
|
|
|
mobydick
Сообщений: 354
Оценки: 0
Присоединился: 2008-08-08 01:16:49.146666
|
Стоит у меня FreeBSD. Я тоже устанавливаю ПО путем сборки из исходников, но с разницей что ПО устанавливается как програмные пакеты с учетом в базе данных. Следственно, я могу без труда удалять или обновлять ПО. В твоем случае этого делать нельзя. Советую найти способ как создать .deb пакеты иначе ./configure && make && make install долго не прокатит.
|
|
|
RE: соурсы против пакетов - 2009-08-11 12:40:30.260000
|
|
|
furiousangel
Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
|
Дебиан - пакетно ориентированый дистрибутив. Это значит что ставить из сорцов крайне нежелательно. По крайней мере если ты не понимаешь что делаешь (а ты явно не понимаешь). В дебиан все надо ставить из deb пакетов. И то желательно это делать через apt ( он следит за обновлениями и обновляет пакеты, если хорошо попросить). В testing ветке почти самые новые версии программ и он довольно стабилен.
|
|
|
RE: соурсы против пакетов - 2009-08-11 13:43:34.756666
|
|
|
seproaz
Сообщений: 21
Оценки: 0
Присоединился: 2009-07-13 10:14:36.943333
|
т.е. вы не советуете устанавливать ПО путем сборки из исходников в дебиан. пожалуйста посоветуйте дистро где это рекомендуется. спс всем.
|
|
|
RE: соурсы против пакетов - 2009-08-11 14:25:48.500000
|
|
|
furiousangel
Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
|
Из сорцов? ок. Наиболее ярковыраженные. Slackware, Gentoo, любая БСД. В слаке все из сорцов собирается поюс сам отслеживаешь зависимости (если ничего не поменялось. давно не пользовал) В Дженте там есть некое подобие менеджера, но в конечном счете все собирается из сорцов. С зависимостям обычно не надо заморачиваться. В БСД все тоже немного схоже.
|
|
|
RE: соурсы против пакетов - 2009-08-11 15:50:05.350000
|
|
|
mobydick
Сообщений: 354
Оценки: 0
Присоединился: 2008-08-08 01:16:49.146666
|
Slackware - это такой дистрибутив, в котором можно создавать ПРОГРАМНЫЕ ПАКЕТЫ из исходных текстов. Любой пакет в SLACKWARE создается на основе шелл-скрипта. Пример:
#!/bin/sh
CWD=$(pwd)
TMP=${TMP:-/tmp}
if [ ! -d $TMP ]; then
mkdir -p $TMP
fi
PKG=$TMP/package-mc
VERSION=4.6.1_20070623p14
ARCH=${ARCH:-i486}
BUILD=${BUILD:-2}
if [ "$ARCH" = "i386" ]; then
SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2"
fi
rm -rf $PKG
mkdir -p $PKG/usr
cd $TMP
rm -rf mc-$VERSION
tar xjvf $CWD/mc-$VERSION.tar.bz2 || exit 1
cd mc-$VERSION
zcat $CWD/mc-4.6.1_20070623_utf8_mls_r2008-08-28.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/filegui.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . -perm 664 -exec chmod 644 {} \;
find . -perm 600 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
find . -perm 400 -exec chmod 644 {} \;
find . -perm 440 -exec chmod 644 {} \;
find . -perm 777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;
# This is obsolete:
# ( cd vfs/samba ; zcat $CWD/samba.codepages.diff.gz | patch -p0 )
#
# Removed due to bug reports. Does anyone use this feature?
# Will it be missed? complain to: volkerdi@slackware.com
# --with-samba
#
# To enable samba, I believe these are the options to use:
# --with-samba \
# --with-configdir=/etc/samba \
# --with-codepagedir=/etc/codepages \
#
# The samba options were added back due to requests, so libsmbclient is
# again a dependency of mc...
#
# Using --with-included-slang seems to be the magic incantation that builds
# a clean, small mc like days of yore
# --with-screen=mcslang \
#
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/man \
--localstatedir=/var \
--enable-charset \
--with-gpm-mouse \
--with-ext2undel \
--with-x=yes \
--with-vfs \
--with-samba \
--with-configdir=/etc/samba \
--with-codepagedir=/etc/codepages \
--build=$ARCH-slackware-linux
make -j3 || exit 1
make DESTDIR=$PKG install || exit 1
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
mkdir -p $PKG/etc/profile.d
cat $PKG/usr/share/mc/bin/mc.csh > $PKG/etc/profile.d/mc.csh
cat $PKG/usr/share/mc/bin/mc.sh > $PKG/etc/profile.d/mc.sh
chmod 755 $PKG/etc/profile.d/*
# Compress and if needed symlink the man pages:
if [ -d $PKG/usr/man ]; then
( cd $PKG/usr/man
for manpagedir in $(find . -type d -name "man*") ; do
( cd $manpagedir
for eachpage in $( find . -type l -maxdepth 1) ; do
ln -s $( readlink $eachpage ).gz $eachpage.gz
rm $eachpage
done
gzip -9 *.?
)
done
)
fi
mkdir -p $PKG/usr/doc/mc-$VERSION
cp -a \
ABOUT-NLS AUTHORS COPYING FAQ HACKING INSTALL INSTALL.FAST MAINTAINERS NEWS README* TODO \
$PKG/usr/doc/mc-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
# Build package:
cd $PKG
makepkg -l y -c n ../mc-$VERSION-$ARCH-$BUILD.tgz
Этот скрипт должен создать програмный пакет mc. ./configure \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/man \
--localstatedir=/var \
--enable-charset \
--with-gpm-mouse \
--with-ext2undel \
--with-x=yes \
--with-vfs \
--with-samba \
--with-configdir=/etc/samba \
--with-codepagedir=/etc/codepages \
--build=$ARCH-slackware-linux
Если не предстоит иметь дело с самбой, то можно исключить из конфигурации пакета опции связанные с ней. Пакет создан с оптимизацей: make -j3 || exit 1
make DESTDIR=$PKG install || exit 1 Последний штрих - создание пакета: # Build package:
cd $PKG
makepkg -l y -c n ../mc-$VERSION-$ARCH-$BUILD.tgz
Для приложений, которые не поставляются с официальным диском, надо идти на http://www.slackbuilds.org/ Мне нужна Opera. Достаю нужный мне Слакбилд:
tar xvzf opera.tar.gz -C ~/Slackbuilds
cd ~/Slackbuilds/opera/
cp ~/Downloads/opera-9.64.gcc4-shared-qt3.i386.tar.bz2 .
Правами рута, выполняем ./opera.Slackbuild За одну минуту, у нас в /tmp создался нужный пакет. Теперь устанавливаем нашу оперу.
installpkg /tmp/opera-.................tgz . Хочешь flashplayer? Без проблем. Идем туда же. A нужно тебе чтобы flashplayer работал из под оперы? Отредактируем Слакбилд: # If the user wants an opera plugin installed, then we'll do that too.
if [ ! "$USE_OPERA" = "no" ]; then
mkdir -p $PKG/usr/lib/opera/plugins
cd $PKG/usr/lib/opera/plugins
ln -s /usr/lib/mozilla/plugins/libflashplayer.so .
cd -
fi
"no" следует заменить с "yes" И опять как раньше. А с Gentoo не советую заниматься. FreeBSD правильней.
|
|
|
RE: соурсы против пакетов - 2009-08-11 15:50:09.723333
|
|
|
farex
Сообщений: 261
Оценки: 0
Присоединился: 2009-02-15 20:48:17.506666
|
quote:
Из сорцов? ок. Наиболее ярковыраженные. Slackware, Gentoo, любая БСД. В слаке все из сорцов собирается поюс сам отслеживаешь зависимости (если ничего не поменялось. давно не пользовал) В Дженте там есть некое подобие менеджера, но в конечном счете все собирается из сорцов. С зависимостям обычно не надо заморачиваться. В БСД все тоже немного схоже. Ты слегка напутал. В слаке есть pkgtools хотя и не synaptic но всеже. А в дженте из сорцов собирается полюс сам отслеживаешь зависимости quote:
Для приложений, которые не поставляются с официальным диском, надо идти на http://www.slackbuilds.org/ Рульная тема согласен.
|
|
|
RE: соурсы против пакетов - 2009-08-11 15:57:13.903333
|
|
|
blonx
Сообщений: 1150
Оценки: 0
Присоединился: 2006-04-01 03:28:42
|
Ну хорошо, Debian. Ну согласен - пакеты, удобно. А вот что будете делать если треба поставить мегакульный софт, а он распространяется в сорс? Ждать деб пакета? Или же собрать деб пакет самому? Ну что вы так прям ненавидете эти три простые команды??!!! Привычка win ? Кликнул и не понял че куда встало? Незнаю, но ./configure #make #make install было, есть и будет! И не важно, будь то Debian или Gentoo.
|
|
|
RE: соурсы против пакетов - 2009-08-11 16:02:53.343333
|
|
|
farex
Сообщений: 261
Оценки: 0
Присоединился: 2009-02-15 20:48:17.506666
|
Но лучше собрать это все в пакеты, как паказывал на примере слаки mobydick
|
|
|
RE: соурсы против пакетов - 2009-08-11 16:16:49.010000
|
|
|
mobydick
Сообщений: 354
Оценки: 0
Присоединился: 2008-08-08 01:16:49.146666
|
Конечно можно. Делается это так: Устанавливаем сначала нужные приложения: # apt-get install autotools-dev fakeroot dh-make build-essential Отправляем папку с исходниками в /tmp: # cp -r news-notification-0.3 /tmp
# cd /tmp/news-notification-0.3 Создаем debian control-files: # dh_make Вносим нужные поправки и создаем пакет: # dpkg-buildpackage -rfakeroot A вот и наш пакет: news-notification_0.3-0ubuntu1_i386.deb
|
|
|
RE: соурсы против пакетов - 2009-08-11 16:23:58.140000
|
|
|
blonx
Сообщений: 1150
Оценки: 0
Присоединился: 2006-04-01 03:28:42
|
Добавлю: Для просмотра устанавливаемых файлов: dpkg --contents ../news-notification_0.3-0ubuntu1_i386.deb Установка: sudo dpkg -i ../news-notification_0.3-0ubuntu1_i386.deb
|
|
|
|
|