installazione e configurazione Slackware 14.2 32bit

Aperto da trigg, Martedì 03 Maggio 2016, 19:35:50

Discussione precedente - Discussione successiva

Braccobaldo

#180
Abbiamo visto fino a questo momento come installare un programma pacchettizzato per Slackware (.txz e .tgz) in questo post

Abbiamo anche visto come compilare un programma e pacchettizzarlo con una SlackBuild in questo post.

Adesso vedremo come automatizzare un po' la ricerca e l'installazione del software con "slapt-get" (leggi e leggi) e con la sua interfaccia grafica "gslapt".

Quindi da questo sito scarichiamo prima slapt-get  per la 14.2 a 32 bit (che è la nostra attuale distro/architettura).

Poi scarichiamo gslapt per la 14.1 a 32 bit (perchè non c'è per la 14.2)

Installiamo i nostri due pacchetti con la formula upgradepkg --install-new

Adesso in un terminale come root sriviamo gslapt e avviamo la nostra nuova applicazione.




Un po' di pazienza e sceglieremo i nostri repo...

trigg

se hai paura di far domande...
                                             ...hai paura d'imparare
     ... non si finisce mai d'imparare...

Braccobaldo

#182
Bene, adesso dobbiamo aggiungere i nostri repo a Gslapt, che abbiamo appena installato e aperto.

Dal menu "Modifica" scegliamo "Preferenze" e selezioniamo la scheda "Origini"



Per prima cosa deselezioniamo le voci presenti poi facciamo clic sul + per aggiungere le nostre voci...

Questi sono dei repository che supportano la risoluzione delle dipendenze e quindi, almeno per ora, li preferiamo a tutti gli altri:

1) http://bear.alienbase.nl/mirrors/people/alien/sbrepos/current/x86/
2) http://panos.slackonly.com/pub/packages/current-x86/

Inseriti questi repo diamo OK e gslapt caricherà il database dei pacchetti nei repo. Per noi sarà sufficiente fare una ricerca e scegliere il software da installare.

La maggior parte dei repository Slackware non supporta la risoluzione delle dipendenze, è una cosa della quale all'occorrenza dovremo occuparci noi. Per cui possiamo aggiungere tutti i repo che vogliamo ma sapendo che non sempre saranno comodi come i primi due.

Questo è il Paese dei Balocchi per chi cerca dei repo per Slackware: PaeseDeiBalocchi Qui

IMPORTANTE:
ricorda che devii scegliere i repo per la tua architettura e per la tua versione di Slack.

Enjoy!


Braccobaldo

Questo script si occuperà di scaricare i sorgenti dell'ultima versione di Firefox e di pacchettizzarlo per Slackware:

latest-Firefox.sh
#!/bin/bash
# latest-firefox Version 1.3.9

# This script will find the latest Firefox binary package, download it
# and repackage it into Slackware format.

# I don't use Firefox for regular browsing but it is handy for
# comparative tests against Vivaldi. :P

# Copyright 2016 Ruari Oedegaard, Oslo, Norway
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Check if the user asked for auto-install
if [ "$1" = "-i" -o "$1" = "--install" ]; then
  if [ "$UID" = "0" ]; then
    AUTO_INSTALL=Y
  else
    echo "You must be root to auto-install, $1 ignored!" >&2
    AUTO_INSTALL=N
  fi
else
  AUTO_INSTALL=N
fi

# Use the architecture of the current machine or whatever the user has
# set externally
ARCH=${ARCH:-$(uname -m)}

if [ "$ARCH" = "x86_64" ]; then
  LIBDIRSUFFIX="64"
elif [[ "$ARCH" = i?86 ]]; then
  ARCH=i686
  LIBDIRSUFFIX=""
else
  echo "The architecture $ARCH is not supported." >&2
  exit 1
fi

# Set to Y to track ESR instead of regular Firefox
FFESR=${FFESR:-N}

if [ "$FFESR" = "Y" ]; then
  FFCHANNEL=esr-latest
else
  FFCHANNEL=latest
fi

# This defines the language of the downloaded package
FFLANG=${FFLANG:-en-US}

# Work out the latest stable Firefox if VERSION is unset
VERSION=${VERSION:-$(wget --spider -S --max-redirect 0 "https://download.mozilla.org/?product=firefox-${FFCHANNEL}&os=linux${LIBDIRSUFFIX}&lang=${FFLANG}" 2>&1 | sed -n '/Location: /{s|.*/firefox-\(.*\)\.tar.*|\1|p;q;}')}

# Error out if $VERISON is unset, e.g. because previous command failed
if [ -z $VERSION ]; then
  echo "Could not work out the latest version; exiting" >&2
  exit 1
fi

# Don't start repackaging if the same version is already installed
if /bin/ls /var/log/packages/mozilla-firefox-$VERSION-* >/dev/null 2>&1 ; then
  echo "Firefox ($VERSION) is already installed; exiting"
  exit 0
fi

TMP=${TMP:-/tmp}
OUTPUT=${OUTPUT:-/tmp}
BUILD=${BUILD:-1}
TAG=${TAG:-ro}
PKGTYPE=${PKGTYPE:-tgz}
PACKAGE="$OUTPUT/mozilla-firefox-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"

# If the package was made previously, no need to make it again. ;)
if [ -e "$PACKAGE" ]; then
  echo "$PACKAGE already exists; exiting"
  exit 0
fi

REPACKDIR=$TMP/repackage-mozilla-firefox

# Three sources are needed, here is where to find them if they are not
# already in the directory this script was started from.
FIREFOXPKG="https://download.mozilla.org/?product=firefox-${VERSION}&os=linux${LIBDIRSUFFIX}&lang=${FFLANG}"
DESKTOPFILE=http://mirrors.slackware.com/slackware/slackware-current/source/xap/mozilla-firefox/mozilla-firefox.desktop
SCRIPT="${0##*/}"

# This function can be used in place of Slackware's makepkg, with the
# added bonus that it is able to make packages with root owned files
# even when run as a regular user.
mkpkg() {
  if [ "$1" = "-n" ]; then
    TAROWNER=""
    shift 1
  else
    TAROWNER="--group 0 --owner 0"
  fi
  if find * -type l | grep -qm1 .; then
    mkdir -p install
    find * -type l -printf '( cd %h ; rm -rf %f )\n( cd %h ; ln -sf %l %f )\n' -delete > install/symlinks
    if [ -f "install/doinst.sh" ]; then
      printf '\n' | cat - install/doinst.sh >> install/symlinks
    fi
    mv install/symlinks install/doinst.sh
  fi
  case "$1" in
    *tbz) cmp=bzip2 ;;
    *tgz) cmp=gzip ;;
    *tlz) cmp=lzma ;;
    *txz) cmp=xz ;;
    *) echo "Unknown compression type" >&2 ; exit 1 ;;
  esac
  tar cvvf - . --format gnu --xform 'sx^\./\(.\)x\1x' --show-stored-names $TAROWNER | $cmp > "$1"
  echo "Slackware package \"$1\" created."
}

# Since packaging is about to begin errors become more important now,
# so exit if things fail.
set -eu

# If the repackage is already present from the past, clear it down
# and re-create it.
if [ -d "$REPACKDIR" ]; then
  rm -fr "$REPACKDIR"
fi

mkdir -p "$REPACKDIR"/{pkg,src}

# Check if the current directory contains mozilla-firefox.desktop. If
# not try /usr/share/applications/, otherwise download it.
if [ -e mozilla-firefox.desktop ]; then
  cp mozilla-firefox.desktop "$REPACKDIR/src/"
elif [ -e /usr/share/applications/mozilla-firefox.desktop ]; then
  cp /usr/share/applications/mozilla-firefox.desktop "$REPACKDIR/src/"
else
  wget -P "$REPACKDIR/src" $DESKTOPFILE
fi

# Save a copy if this script but remove execute persmissions as it will
# later be moved into the doc directory.
install -m 644 "${0}" "$REPACKDIR/src/$SCRIPT"

# Check if the current directory contains the Firefox binary package,
# otherwise download it.
if [ -e firefox-$VERSION.tar.bz2 ]; then
  cp firefox-$VERSION.tar.bz2 "$REPACKDIR/src/"
else
  wget -O "$REPACKDIR/src/firefox-$VERSION.tar.bz2" $FIREFOXPKG
fi

# Now we have all the sources in place, switch to the package directory
# and start setting things up.
cd "$REPACKDIR/pkg"

# Create the basic directory structure for files.
mkdir -p install
mkdir -p usr/bin
mkdir -p usr/doc/mozilla-firefox-$VERSION
mkdir -p usr/share/applications
mkdir -p usr/share/icons/hicolor/{16x16,32x32,48x48,128x128}/apps
mkdir -p usr/lib$LIBDIRSUFFIX/mozilla
mkdir -p usr/lib$LIBDIRSUFFIX/firefox-$VERSION

# Copy the desktop file in place
cp ../src/mozilla-firefox.desktop usr/share/applications/

# Copy this script into the doc directory
cp ../src/$SCRIPT usr/doc/mozilla-firefox-$VERSION/$SCRIPT

# Extract the contents of the binary Firefox package into an
# appropriately named lib directory.
tar xf ../src/firefox-$VERSION.tar.* --strip 1 -C usr/lib$LIBDIRSUFFIX/firefox-$VERSION

# If present, move the readme or any other similar text files to the
# doc directory.
find usr/lib$LIBDIRSUFFIX/firefox-$VERSION -maxdepth 1 -iname "*.txt" -exec mv {} usr/doc/mozilla-firefox-$VERSION/ \;

# If a plugins folder was present move it to the mozilla lib directory.
# Otherwise just create a directory in mozilla so that there is
# definately somthing to symlink to later on in the post-install.
if [ -d usr/lib$LIBDIRSUFFIX/firefox-$VERSION/plugins ]; then
  mv usr/lib$LIBDIRSUFFIX/firefox-$VERSION/plugins usr/lib$LIBDIRSUFFIX/mozilla/
else
  mkdir usr/lib$LIBDIRSUFFIX/mozilla/plugins
fi

# Setup symlinks for firefox binary, plugin directory and icons.
(
  cd usr/bin
  ln -s ../lib$LIBDIRSUFFIX/firefox-$VERSION/firefox firefox
)
# Changes in Firefox 21 mean we need to check for the browser directory
if [ -d usr/lib$LIBDIRSUFFIX/firefox-$VERSION/browser ]; then
  (
    cd usr/lib$LIBDIRSUFFIX/firefox-$VERSION/browser
    ln -s ../../mozilla/plugins plugins
  )
else
  (
    cd usr/lib$LIBDIRSUFFIX/firefox-$VERSION
    ln -s ../mozilla/plugins plugins
  )
fi

# Changes in Firefox 21 mean we need to check for the location of icons
if /bin/ls usr/lib$LIBDIRSUFFIX/firefox-$VERSION/chrome/icons/default/default*.png >/dev/null 2>&1; then
  DEFAULTICONPATH=lib$LIBDIRSUFFIX/firefox-$VERSION/chrome/icons/default
  ALTICONPATH=lib$LIBDIRSUFFIX/firefox-$VERSION/icons
elif /bin/ls usr/lib$LIBDIRSUFFIX/firefox-$VERSION/browser/chrome/icons/default/default*.png >/dev/null 2>&1; then
  DEFAULTICONPATH=lib$LIBDIRSUFFIX/firefox-$VERSION/browser/chrome/icons/default
  ALTICONPATH=lib$LIBDIRSUFFIX/firefox-$VERSION/browser/icons
else
  echo "Changes have been made to the internal formating of the firefox source packaging!" >&2
  exit 1
fi

(
  cd usr/share/icons/hicolor/16x16/apps
  ln -s ../../../../../$DEFAULTICONPATH/default16.png firefox.png
)
(
  cd usr/share/icons/hicolor/32x32/apps
  ln -s ../../../../../$DEFAULTICONPATH/default32.png firefox.png
)
(
  cd usr/share/icons/hicolor/48x48/apps
  ln -s ../../../../../$DEFAULTICONPATH/default48.png firefox.png
)
(
  cd usr/share/icons/hicolor/128x128/apps
  ln -s ../../../../../$ALTICONPATH/mozicon128.png firefox.png
)

# Now create the post-install to register the desktop file and icons.
cat <<EOS> install/doinst.sh
# Setup menu entries
if command -v update-desktop-database >/dev/null 2>&1; then
  update-desktop-database -q usr/share/applications
fi
# Setup icons
touch -c usr/share/icons/hicolor
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
  gtk-update-icon-cache -tq usr/share/icons/hicolor
fi
EOS

# Create a description file inside the package.
cat <<EOD> install/slack-desc
               |-----handy-ruler------------------------------------------------------|
mozilla-firefox: mozilla-firefox (Mozilla Firefox Web browser)
mozilla-firefox:
mozilla-firefox: This project is a redesign of the Mozilla browser component written
mozilla-firefox: using the XUL user interface language. Firefox delivers safe, easy web
mozilla-firefox: browsing.
mozilla-firefox:
mozilla-firefox: Visit the Mozilla Firefox project online:
mozilla-firefox:   http://www.mozilla.org/projects/firefox/
mozilla-firefox:
mozilla-firefox:
mozilla-firefox:
EOD

# Make sure the file permissions are ok
chmod -R u+w,go+r-w,a-s .

# Create the Slackware package
mkpkg "$PACKAGE"

# Install if the user requested it
if [ $AUTO_INSTALL = "Y" ]; then
  /sbin/upgradepkg --install-new "$PACKAGE"
fi


guest828

@ Superciuk: ma neanche un buddista avrebbe la pazienza e la cortesia tue  :)
Complimenti vivissimi  :ciao:

Braccobaldo


Braccobaldo

Delle SlackBuild e della applicazione che permette di gestirle "sbopkg" ne parlo in questo post: http://www.linuxminditalia.org/index.php?topic=22509.msg246435#msg246435

zar Marco

Ho appena finito di leggere questo post, @Superciuk che dire, sei fantastico. Ho installato oggi la mia prima slackware, ti romperò pure io ????,  anzi iniziamo subito, ho xfce, se non imstallassi kde, potrei comunque installare kde connect?

Inviato dal mio Nexus 6P utilizzando Tapatalk


Braccobaldo

Se qualcuno, leggendo questa discussione, si è sentito invogliato ad installare Slackware, e soprattuto se lo ha fatto davvero, probabilmente si starà facendo delle domande a proposito della modalità di aggiornamento del sistema.
Se così fosse potrebbe trovare interessante questo topic: [Guida] Aggiornare Slackware - Mini Guida all'Uso di Slackpkg.

:ciao:

zar Marco

Chiedo qui, visto che è l'unica che tratta l'installazione, mi sto per approcciare a reinstallare slackware e volevo chiedervi una cosa, quanto va a penalizzare l'installazione fatta su hdd rispetto ad ssd?

Braccobaldo


... Quanto va a penalizzare cosa?
Se tu hai un ssd e un hd dovresti già averne una idea tua. Io la uso su HD e non ho un ssd. Funziona lo stesso se è quello che volevi sapere.
Se invece stai facendo la corsa con qualcuno  e vuoi arrivare primo un ssd è meglio, così dicono.

Non ho capito il senso della domanda ne so immaginare da chi vorresti delle risposte. Anche se mi hai citato.
http://www.linuxminditalia.org/index.php?topic=22903.msg248985#msg248985

Ti ricordo che avevi già aperto una discussione simile e che poi è stata spostata al Bar. Sicuro che era necessario aprirne un'altra?...
http://www.linuxminditalia.org/index.php?topic=22654.0

zar Marco

#192
Citazione di: Superciuk il Venerdì 09 Dicembre 2016, 11:02:36

... Quanto va a penalizzare cosa?
Se tu hai un ssd e un hd dovresti già averne una idea tua. Io la uso su HD e non ho un ssd. Funziona lo stesso se è quello che volevi sapere.
Se invece stai facendo la corsa con qualcuno  e vuoi arrivare primo un ssd è meglio, così dicono.

Non ho capito il senso della domanda ne so immaginare da chi vorresti delle risposte. Anche se mi hai citato.
http://www.linuxminditalia.org/index.php?topic=22903.msg248985#msg248985

Ti ricordo che avevi già aperto una discussione simile e che poi è stata spostata al Bar. Sicuro che era necessario aprirne un'altra?...
http://www.linuxminditalia.org/index.php?topic=22654.0
Quella discussione ammetto di averla persa di vista, non riuscivo a trovarla ieri sera, beh la cancello [emoji2]
Riguardo a questa domanda, generalmente gli ssd hanno tempi di lavoro ridotti rispetto agli hdd, chiedevo se su Slack si sente tanto la differenza


Edit

E non sto facendo la corsa con nessuno. Cercavo solo di capire, a quanto ammontava questa differenza.
Spiace constatare che,  occasionalmente, i miei post vengano visti come una provocazione o una gara.
Starò più attento