Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-06-13 11:19:35

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Bardzo podstawowa konfiguracja debiana

Mam kilka pytań na temat plików konfiguracyjnych oraz po części na temat samej konfiguracji debiana:

1. W jakich plikach jest trzymana konfiguracja locale? Można to co prawda skonfigurować przez dpkg-reconfigure locales lub też przez locale-gen usuwając uprzednio hashe z /etc/locale.gen ale gdzie np. ustawić język albo walutę? W  dpkg-reconfigure locales jest tylko kilka opcji, które ustawiają wszystkie zmienne LC_ na pl_PL.UTF-8 a jakbym chciał mieć część zmiennych np. datę w en_US.UTF-8, to gdzie to dopisać? W archu te zmienne LC_ się dopisuje w /etc/locales.conf ale na debianie ten plik nie za bardzo działa.

2. Podobnie jak w 1 tyle że dpkg-reconfigure tzdata
3. Podobnie jak w 1 tyle że dpkg-reconfigure console-setup
4. Podobnie jak w 1 tyle że dpkg-reconfigure keyboard-configuration
5. Są jeszcze jakieś innej rzeczy (podstawowe), które można w taki sposób skonfigurować?

6. Przy instalacji debiana można doinstalować pakiety za pomocą:

Kod:

tasksel install standard

To instaluje pakiety o priorytecie standard. Jak podejrzeć, które z pakietów mają taki priorytet oraz jakie są priorytety pakietów?

7. W pliku /etc/apt/apt.conf można skonfigurować zachowanie aptitude, min wyłączyć domyśle instalowanie pakietów sugerowanych i rekomendowanych (jest jakaś różnica między nimi? xD) przez dodanie

Kod:

APT::Install-Recommends "false";
APT::Install-Suggests "false";

Czy istnieje możliwość skonfigurowania przez ten plik aptitude tak by nie usuwał plików w /var/cache/apt/archives ?

8. Czy istnieje możliwość inteligentnego czyszczenia pobranych paczek za pomocą aptitude albo i apt-get? Chodzi o to, że w przypadku archa można nakazać pacmanowi by nie usuwał pobranych paczek (domyślne) oraz poprzez dodanie jednego z poniższych wpisów do /etc/pacman.conf

Kod:

CleanMethod = KeepInstalled    # -- wyczyści paczki, które aktualnie nie są zainstalowane w systemie
CleanMethod = KeepCurrent    # -- wyczyści paczki o starszej wersji ale zostawi te, które nie są zainstalowane

i następnie przez ręczne wykonanie pacman -Sc  zostanie oczyszczony cache w zależności od wybranej opcji. Można też wydać polecenie -Scc i zostanie cache opróżniony całkowicie -- coś w rozdaniu aptitude clean albo aptitude autoclean -- nigdy nie pamiętam, które jest od czego xD

9. Czy gdy korzystam z dhcpcd, plik /etc/network/interfaces jest do czegoś potrzebny? Pytam bo w przypadku dodania tam wpisu od eth0:

Kod:

auto eth0
iface eth0 inet dhcp

dwukrotnie jest aktywowany dhcpcd, w efekcie przy starcie systemu dostaję błąd o obecności pliku .pid . Póki co wykomentowałem zawartość powyższego pliku, dhcpcd działa bez problemu, tak jak i internet.

To chyba tyle, jak będę miał więcej pytań to postnę je w tym wątku.

Offline

 

#2  2013-06-13 12:02:04

  dominbik - Członek DUG

dominbik
Członek DUG
Zarejestrowany: 2011-07-25

Re: Bardzo podstawowa konfiguracja debiana

http://forum.dug.net.pl/viewtopic.php?id=19553  odnośnie aptitude. pamiętam też, że tak usuwałem pakiety;

Kod:

aptitude purge --purge nazwa_pakietu

i raz na jakiś czas używałem aptitude clean.
jeśli chodzi  o takie czyszczenie, w Archu też raz na jakiś czas logi (potrafią dużo zajmować);

Kod:

rm /var/log/journal/*/*

[img]http://img34.imageshack.us/img34/5092/zw9m.png[/img] [img]http://img29.imageshack.us/img29/219/pibw.png[/img]

Offline

 

#3  2013-06-13 12:13:46

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Bardzo podstawowa konfiguracja debiana

Tylko mi chodzi o paczuszki, które są pobierane podczas instalacji -- chodzi o to by je zapisać sobie. Bo w archu wydzieliłem parę GiB na coś w rodzaju lokalnego mirroru. Trafiają tam wszystkie paczki, które pacman instaluje lub aktualizuje. A, że arch jest trochę żywszy niż debian, to sporo śmieci tam się zbiera po miesiącu. I czyszczenie starszych wersji pakietów mi się bardzo podoba i chciałbym coś takiego na debianie zrobić. Potem gdy jest zawał systemu, mogę podpiąć sobie to archiwum i z niego pakiety instalować a nie pobierać na nowo z internetu. Nie muszę też wypalać płytek i mam najnowsze wersje paczek zawsze -- to bardzo fajne rozwiązanie. Da się tak z aptitude?

Offline

 

#4  2013-06-13 12:15:22

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Bardzo podstawowa konfiguracja debiana

[quote=morfik]7. W pliku /etc/apt/apt.conf można skonfigurować zachowanie aptitude, min wyłączyć domyśle instalowanie pakietów sugerowanych i rekomendowanych (jest jakaś różnica między nimi? xD) przez dodanie

Kod:

APT::Install-Recommends "false";
APT::Install-Suggests "false";

Czy istnieje możliwość skonfigurowania przez ten plik aptitude tak by nie usuwał plików w /var/cache/apt/archives ?[/quote]
Widocznie jest:

Pakiet: kadu                                 
Stan: zainstalowany
Zainstalowany automatycznie: nie
Wersja: 0.12.3-1
Priorytet: opcjonalny
Sekcja: net
Opiekun: Patryk Cisek <patryk@debian.org>
Architektura: amd64
Rozmiar rozpakowanego: 11,9 M
Wymaga: kadu-common (= 0.12.3-1), libqca2-plugin-ossl, libqt4-sql-sqlite, libqt4-svg, libc6 (>= 2.4), libenchant1c2a (>= 1.6), libgadu3 (>= 1:1.11.0), libgcc1 (>= 1:4.1.1), libidn11 (>= 1.13),
        libindicate-qt1 (>= 0.2.5), libmpdclient2 (>= 2.1), libphonon4 (>= 4:4.2.0), libqca2 (>= 2.0.2), libqt4-dbus (>= 4:4.6.1), libqt4-network (>= 4:4.7.0~beta1), libqt4-script (>= 4:4.5.3),
        libqt4-sql (>= 4:4.5.3), libqt4-xml (>= 4:4.5.3), libqt4-xmlpatterns (>= 4:4.5.3), libqtcore4 (>= 4:4.8.1), libqtgui4 (>= 4:4.8.0), libqtwebkit4 (>= 2.1.0~2011week13), libstdc++6 (>=
        4.6), libx11-6, libxext6, libxfixes3, libxss1, phonon, zlib1g (>= 1:1.1.4)
Wymaga wstępnie: multiarch-support
[b]Poleca: kadu-external-modules (>= 0.10.0-2)
Sugeruje: kadu-themes[/b]
W konflikcie z: kadu
Narusza zależności: kadu-external-modules (< 0.10.0-2), kadu-external-modules (< 0.10.0-2)
Zastępuje: kadu-external-modules (< 0.10.0-2), kadu-external-modules (< 0.10.0-2)
Opis: Gadu-Gadu/XMPP client for X11

Strona internetowa: http://kadu.net[/quote]

Offline

 

#5  2013-06-13 12:25:14

  drelbrown - Użytkownik

drelbrown
Użytkownik
Zarejestrowany: 2013-01-07

Re: Bardzo podstawowa konfiguracja debiana

[quote=morfik]Tylko mi chodzi o paczuszki, które są pobierane podczas instalacji — chodzi o to by je zapisać sobie. Bo w archu wydzieliłem parę GiB na coś w rodzaju lokalnego mirroru. Trafiają tam wszystkie paczki, które pacman instaluje lub aktualizuje. A, że arch jest trochę żywszy niż debian, to sporo śmieci tam się zbiera po miesiącu. I czyszczenie starszych wersji pakietów mi się bardzo podoba i chciałbym coś takiego na debianie zrobić. Potem gdy jest zawał systemu, mogę podpiąć sobie to archiwum i z niego pakiety instalować a nie pobierać na nowo z internetu. Nie muszę też wypalać płytek i mam najnowsze wersje paczek zawsze — to bardzo fajne rozwiązanie. Da się tak z aptitude?[/quote]
Dopisz do [tt]/etc/apt/apt.conf[/tt]

Kod:

Aptitude::Autoclean-After-Update "true";

Po każdym [tt]# aptitude update[/tt] nieaktualne wersje paczek są czyszczone.

Offline

 

#6  2013-06-13 12:25:59

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Bardzo podstawowa konfiguracja debiana

@yossarian — nie przeczę, że inne pakiety mogą się znaleźć w każdej z tych grup, pytanie czym się to różni, że nie można np połączyć tych grup pakietów w jedną?

EDIT:

Jest jakaś różnica między Aptitude:: i APT:: ? Z tego co widziałem to do apt-get się odnosi APT::GET::

I jeszcze to:

/etc/apt/conf file no longer exists (at least in testing), the configuration is now modular and the topic should be extended
specifically we are talking here about /etc/apt/apt.conf.d/70debconf file[/quote]
@drelbrown — dobre. xD

Kod:

Ign.   http://ppa.launchpad.net oneiric/main Translation-pl_PL
Ign.   http://ppa.launchpad.net oneiric/main Translation-pl
Ign.   http://ppa.launchpad.net oneiric/main Translation-en
Pobrano 419 kB w 14s (29,5 kB/s)
Usuwanie nieaktualnych pobranych plików

Ostatnio edytowany przez morfik (2013-06-13 12:40:49)

Offline

 

#7  2013-06-13 13:06:03

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Bardzo podstawowa konfiguracja debiana

[quote=morfik]@yossarian — nie przeczę, że inne pakiety mogą się znaleźć w każdej z tych grup, pytanie czym się to różni, że nie można np połączyć tych grup pakietów w jedną?[/quote]

Recommends

This declares a strong, but not absolute, dependency.

The Recommends field should list packages that would be found together with this one in all but unusual installations.[/quote]

Suggests

This is used to declare that one package may be more useful with one or more others. Using this field tells the packaging system and the user that the listed packages are related to this one and can perhaps enhance its usefulness, but that installing this one without them is perfectly reasonable.[/quote]
http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps

Offline

 

#8  2013-06-13 16:02:48

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Bardzo podstawowa konfiguracja debiana

Ok, to parę pytań z głowy. Zna ktoś odpowiedzi na pozostałe? xD

EDIT:

Ad 1:

Zmienne dopisuje się do pliku /etc/default/locale . Niemniej jednak gnome ignoruje ten plik i ustawia zmienne według własnego uznania. Niby można zmienić język przez plik ~/.dmrc :

Kod:

[Desktop]
Language=pl_PL.utf8
Layout=pl
Session=gnome

ale nic poza tym. Także albo się zmieni wszystkie zmienne albo żadnej. xD

W /etc/pam.d/gdm3 jest też niby coś takiego:

Kod:

 session required        pam_env.so readenv=1 envfile=/etc/default/locale

Myślałem, że wykomentowanie tego coś pomoże ale to tylko przestawiło trochę zmiennych pod locale na:

Kod:

morfik:~$ locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC=pl_PL.utf8
LC_TIME=pl_PL.utf8
LC_COLLATE=C
LC_MONETARY=pl_PL.utf8
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT=pl_PL.utf8
LC_IDENTIFICATION="POSIX"
LC_ALL=

Plik /etc/default/locale ma zaś postać:

Kod:

cat /etc/default/locale 
#  File generated by update-locale
LANG="pl_PL.UTF-8"

i domyślnie ma wpisany tylko język. Ustawienia tym pliku są honorowane przez tty. Czyli jak dopiszemy tam np. LC_TIME="en_US.UTF-8" i wydamy polecenie "date" pod tty, dostaniemy datę w wersji angielskiej, a nie polskiej.

Ad 2:

Strefa czasowa jest trzymana w /etc/timezone w postaci:

Kod:

Europe/Warsaw

a plik /etc/localtime jest kopią /usr/share/zoneinfo/Europe/Warsaw -- w sumie to nie wiem czemu jest skopiowany, w archu jest link.

Ad 3:

Ustawienia tty są trzymane w pliku /etc/default/console-setup w postaci:

Kod:

# CONFIGURATION FILE FOR SETUPCON

# Consult the console-setup(5) manual page.

ACTIVE_CONSOLES="/dev/tty[1-6]"

CHARMAP="UTF-8"

CODESET="Lat2"
FONTFACE="Terminus"
FONTSIZE="8x16"

VIDEOMODE=

# The following is an example how to use a braille font
# FONT='lat9w-08.psf.gz brl-8x8.psf'

Ad 4:

Ustawienia klawiatury są trzymane w /etc/default/keyboard w postaci:

Kod:

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="logimel"
XKBLAYOUT="pl"
XKBVARIANT=""
XKBOPTIONS="terminate:ctrl_alt_bksp"

BACKSPACE="guess"

Z tym, że ta konfiguracja dotyczy chyba tylko tty -- xorga trzeba konfigurować oddzielnie w pliku /etc/X11/xorg.conf . No i gnome oczywiście nie honoruje ustawień xorga i ustawia po swojemu.

XKBMODEL można odczytać z pliku /usr/share/X11/xkb/rules/base.lst -- jest to zwykła lista i np pozycja od mojej klawiatury wygląda tak:

Kod:

  logimel         Logitech Media Elite Keyboard

By ustawić keyboard layout już na starcie systemu trzeba zmienić w pliku /etc/initramfs-tools/initramfs.conf

Kod:

KEYMAP=y

I wygenerować nowy initramfs:

Kod:

update-initramfs -u

Ostatnio edytowany przez morfik (2013-06-13 19:09:40)

Offline

 

#9  2013-06-13 19:54:19

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Bardzo podstawowa konfiguracja debiana

[quote=drelbrown]Aptitude::Autoclean-After-Update "true";[/quote]
Jednak aptitude/apt-get autoclean usuwa starsze wersje pakietów, a aptitude/apt-get clean usuwa wszystkie. Także można pominąć powyższy wpis — jak nie patrzeć trochę to spowolni pracę aptitude bo za każdym razem będzie próbowało usuwać stare pakiety ale dobrze być świadomym istnienia tej opcji.  Raz na jakiś czas sobie przepuszczę aptitude autoclean i powinno trzymać w ryzach rozmiar lokalnego mirroru.

Ad 7 i 8:

Doszukałem się pliku /etc/cron.daily/apt — ma on treść:

Kod:

#!/bin/sh
#set -e
#
# This file understands the following apt configuration variables:
# Values here are the default.
# Create /etc/apt/apt.conf.d/02periodic file to set your preference.
#
#  Dir "/";
#  - RootDir for all configuration files
#
#  Dir::Cache "var/cache/apt/";
#  - Set apt package cache directory
#
#  Dir::Cache::Archives "archives/";
#  - Set package archive directory
#
#  APT::Periodic::Enable "1";
#  - Enable the update/upgrade script (0=disable)
#
#  APT::Periodic::BackupArchiveInterval "0";
#  - Backup after n-days if archive contents changed.(0=disable)
#
#  APT::Periodic::BackupLevel "3";
#  - Backup level.(0=disable), 1 is invalid.
#
#  Dir::Cache::Backup "backup/";
#  - Set periodic package backup directory
#
#  APT::Archives::MaxAge "0"; (old, deprecated)
#  APT::Periodic::MaxAge "0"; (new)
#  - Set maximum allowed age of a cache package file. If a cache 
#    package file is older it is deleted (0=disable)
#
#  APT::Archives::MinAge "2"; (old, deprecated)
#  APT::Periodic::MinAge "2"; (new)
#  - Set minimum age of a package file. If a file is younger it
#    will not be deleted (0=disable). Usefull to prevent races 
#    and to keep backups of the packages for emergency.
#
#  APT::Archives::MaxSize "0"; (old, deprecated)
#  APT::Periodic::MaxSize "0"; (new)
#  - Set maximum size of the cache in MB (0=disable). If the cache
#    is bigger, cached package files are deleted until the size
#    requirement is met (the biggest packages will be deleted 
#    first).
#
#  APT::Periodic::Update-Package-Lists "0";
#  - Do "apt-get update" automatically every n-days (0=disable)
#    
#  APT::Periodic::Download-Upgradeable-Packages "0";
#  - Do "apt-get upgrade --download-only" every n-days (0=disable)
#
#  APT::Periodic::Download-Upgradeable-Packages-Debdelta "1";
#  - Use debdelta-upgrade to download updates if available (0=disable)
#
#  APT::Periodic::Unattended-Upgrade "0";
#  - Run the "unattended-upgrade" security upgrade script 
#    every n-days (0=disabled)
#    Requires the package "unattended-upgrades" and will write
#    a log in /var/log/unattended-upgrades
# 
#  APT::Periodic::AutocleanInterval "0";
#  - Do "apt-get autoclean" every n-days (0=disable)
#
#  APT::Periodic::Verbose "0";
#  - Send report mail to root
#      0:  no report             (or null string)
#      1:  progress report       (actually any string)
#      2:  + command outputs     (remove -qq, remove 2>/dev/null, add -d)
#      3:  + trace on            

check_stamp()
{
    stamp="$1"
    interval="$2"

    if [ $interval -eq 0 ]; then
    debug_echo "check_stamp: interval=0"
    # treat as no time has passed
        return 1
    fi

    if [ ! -f $stamp ]; then
    debug_echo "check_stamp: missing time stamp file: $stamp."
    # treat as enough time has passed
        return 0
    fi

    # compare midnight today to midnight the day the stamp was updated
    stamp_file="$stamp"
    stamp=$(date --date=$(date -r $stamp_file --iso-8601) +%s 2>/dev/null)
    if [ "$?" != "0" ]; then
        # Due to some timezones returning 'invalid date' for midnight on
        # certain dates (eg America/Sao_Paulo), if date returns with error
        # remove the stamp file and return 0. See coreutils bug:
        # http://lists.gnu.org/archive/html/bug-coreutils/2007-09/msg00176.html
        rm -f "$stamp_file"
        return 0
    fi

    now=$(date --date=$(date --iso-8601) +%s 2>/dev/null)
    if [ "$?" != "0" ]; then
        # As above, due to some timezones returning 'invalid date' for midnight
        # on certain dates (eg America/Sao_Paulo), if date returns with error
        # return 0.
        return 0
    fi

    delta=$(($now-$stamp))

    # intervall is in days, convert to sec.
    interval=$(($interval*60*60*24))
    debug_echo "check_stamp: interval=$interval, now=$now, stamp=$stamp, delta=$delta (sec)"

    # remove timestamps a day (or more) in the future and force re-check
    if [ $stamp -gt $(($now+86400)) ]; then
         echo "WARNING: file $stamp_file has a timestamp in the future: $stamp"
         rm -f "$stamp_file"
         return 0
    fi

    if [ $delta -ge $interval ]; then
        return 0
    fi

    return 1
}

update_stamp()
{
    stamp="$1"
    touch $stamp
}

# we check here if autoclean was enough sizewise
check_size_constraints()
{
    MaxAge=0
    eval $(apt-config shell MaxAge APT::Archives::MaxAge)
    eval $(apt-config shell MaxAge APT::Periodic::MaxAge)

    MinAge=2
    eval $(apt-config shell MinAge APT::Archives::MinAge)
    eval $(apt-config shell MinAge APT::Periodic::MinAge)

    MaxSize=0
    eval $(apt-config shell MaxSize APT::Archives::MaxSize)
    eval $(apt-config shell MaxSize APT::Periodic::MaxSize)

    Cache="/var/cache/apt/archives/"
    eval $(apt-config shell Cache Dir::Cache::archives/d)

    # sanity check
    if [ -z "$Cache" ]; then
    echo "empty Dir::Cache::archives, exiting"
    exit
    fi

    # check age
    if [ ! $MaxAge -eq 0 ] && [ ! $MinAge -eq 0 ]; then
    debug_echo "aged: ctime <$MaxAge and mtime <$MaxAge and ctime>$MinAge and mtime>$MinAge"
    find $Cache -name "*.deb"  \( -mtime +$MaxAge -and -ctime +$MaxAge \) -and -not \( -mtime -$MinAge -or -ctime -$MinAge \) -print0 | xargs -r -0 rm -f
    elif [ ! $MaxAge -eq 0 ]; then
    debug_echo "aged: ctime <$MaxAge and mtime <$MaxAge only"
    find $Cache -name "*.deb"  -ctime +$MaxAge -and -mtime +$MaxAge -print0 | xargs -r -0 rm -f
    else
    debug_echo "skip aging since MaxAge is 0"
    fi
    
    # check size
    if [ ! $MaxSize -eq 0 ]; then
    # maxSize is in MB
    MaxSize=$(($MaxSize*1024))

    #get current time
    now=$(date --date=$(date --iso-8601) +%s)
    MinAge=$(($MinAge*24*60*60))

    # reverse-sort by mtime
    for file in $(ls -rt $Cache/*.deb 2>/dev/null); do 
        du=$(du -s $Cache)
        size=${du%%/*}
        # check if the cache is small enough
        if [ $size -lt $MaxSize ]; then
        debug_echo "end remove by archive size:  size=$size < $MaxSize"
        break
        fi

        # check for MinAge of the file
        if [ $MinAge -ne 0 ]; then 
        # check both ctime and mtime 
        mtime=$(stat -c %Y $file)
        ctime=$(stat -c %Z $file)
        if [ $mtime -gt $ctime ]; then
            delta=$(($now-$mtime))
        else
            delta=$(($now-$ctime))
        fi
        if [ $delta -le $MinAge ]; then
            debug_echo "skip remove by archive size:  $file, delta=$delta < $MinAgeSec"
            break
        else
            # delete oldest file
            debug_echo "remove by archive size: $file, delta=$delta >= $MinAgeSec (sec), size=$size >= $MaxSize"
            rm -f $file
        fi
        fi
    done
    fi
}

# deal with the Apt::Periodic::BackupArchiveInterval
do_cache_backup()
{
    BackupArchiveInterval="$1"
    if [ $BackupArchiveInterval -eq 0 ]; then
    return
    fi

    # Set default values and normalize
    CacheDir="/var/cache/apt"
    eval $(apt-config shell CacheDir Dir::Cache/d)
    CacheDir=${CacheDir%/}
    if [ -z "$CacheDir" ]; then
    debug_echo "practically empty Dir::Cache, exiting"
    return 0
    fi

    Cache="${CacheDir}/archives/"
    eval $(apt-config shell Cache Dir::Cache::Archives/d)
    if [ -z "$Cache" ]; then
    debug_echo "practically empty Dir::Cache::archives, exiting"
    return 0
    fi

    BackupLevel=3
    eval $(apt-config shell BackupLevel APT::Periodic::BackupLevel)
    if [ $BackupLevel -le 1 ]; then 
    BackupLevel=2 ; 
    fi
    
    Back="${CacheDir}/backup/"
    eval $(apt-config shell Back Dir::Cache::Backup/d)
    if [ -z "$Back" ]; then
    echo "practically empty Dir::Cache::Backup, exiting" 1>&2
    return
    fi

    CacheArchive="$(basename "${Cache}")"
    test -n "${CacheArchive}" || CacheArchive="archives"
    BackX="${Back}${CacheArchive}/"
    for x in $(seq 0 1 $((${BackupLevel}-1))); do 
    eval "Back${x}=${Back}${x}/"
    done
    
    # backup after n-days if archive contents changed.
    # (This uses hardlink to save disk space)
    BACKUP_ARCHIVE_STAMP=/var/lib/apt/periodic/backup-archive-stamp
    if check_stamp $BACKUP_ARCHIVE_STAMP $BackupArchiveInterval; then
    if [ $({(cd $Cache 2>/dev/null; find . -name "*.deb"); (cd $Back0 2>/dev/null;find . -name "*.deb") ;}| sort|uniq -u|wc -l) -ne 0 ]; then
        mkdir -p $Back
        rm -rf $Back$((${BackupLevel}-1))
        for y in $(seq $((${BackupLevel}-1)) -1 1); do 
        eval BackY=${Back}$y
        eval BackZ=${Back}$(($y-1))
        if [ -e $BackZ ]; then 
            mv -f $BackZ $BackY ; 
        fi
        done
        cp -la $Cache $Back ; mv -f $BackX $Back0
        update_stamp $BACKUP_ARCHIVE_STAMP
        debug_echo "backup with hardlinks. (success)"
    else
        debug_echo "skip backup since same content."
    fi
    else
    debug_echo "skip backup since too new."
    fi
}

# sleep for a random interval of time (default 30min)
# (some code taken from cron-apt, thanks)
random_sleep()
{
    RandomSleep=1800
    eval $(apt-config shell RandomSleep APT::Periodic::RandomSleep)
    if [ $RandomSleep -eq 0 ]; then
    return
    fi
    if [ -z "$RANDOM" ] ; then
        # A fix for shells that do not have this bash feature.
    RANDOM=$(( $(dd if=/dev/urandom bs=2 count=1 2> /dev/null | cksum | cut -d' ' -f1) % 32767 ))
    fi
    TIME=$(($RANDOM % $RandomSleep))
    debug_echo "sleeping for $TIME seconds"
    sleep $TIME
}


debug_echo()
{
    # Display message if $VERBOSE >= 1
    if [ "$VERBOSE" -ge 1 ]; then
    echo $1 1>&2
    fi
}

check_power(){
    # laptop check, on_ac_power returns:
    #       0 (true)    System is on main power
    #       1 (false)   System is not on main power
    #       255 (false) Power status could not be determined
    # Desktop systems always return 255 it seems
    if which on_ac_power >/dev/null; then
        on_ac_power
        POWER=$?
        if [ $POWER -eq 1 ]; then
        debug_echo "exit: system NOT on main power"
        return 1
        elif [ $POWER -ne 0 ]; then
        debug_echo "power status ($POWER) undetermined, continuing"
        fi
        debug_echo "system is on main power."
    fi
    return 0
}

# ------------------------ main ----------------------------

if test -r /var/lib/apt/extended_states; then
    # Backup the 7 last versions of APT's extended_states file
    # shameless copy from dpkg cron
    if cd /var/backups ; then
    if ! cmp -s apt.extended_states.0 /var/lib/apt/extended_states; then
        cp -p /var/lib/apt/extended_states apt.extended_states
        savelog -c 7 apt.extended_states >/dev/null
    fi
    fi
fi

# check apt-config exstance
if ! which apt-config >/dev/null ; then
    exit 0
fi

# check if the user really wants to do something
AutoAptEnable=1  # default is yes
eval $(apt-config shell AutoAptEnable APT::Periodic::Enable)

if [ $AutoAptEnable -eq 0 ]; then
    exit 0
fi

# Set VERBOSE mode from  apt-config (or inherit from environment)
VERBOSE=0
eval $(apt-config shell VERBOSE APT::Periodic::Verbose)
debug_echo "verbose level $VERBOSE"
if [ "$VERBOSE" -le 2 ]; then
    # quiet for 0,1,2
    XSTDOUT=">/dev/null"
    XSTDERR="2>/dev/null"
    XAPTOPT="-qq"
    XUUPOPT=""
else
    XSTDOUT=""
    XSTDERR=""
    XAPTOPT=""
    XUUPOPT="-d"
fi
if [ "$VERBOSE" -ge 3 ]; then
    # trace output
    set -x
fi

check_power || exit 0

# check if we can lock the cache and if the cache is clean
if which apt-get >/dev/null && ! eval apt-get check -f $XAPTOPT $XSTDERR ; then
    debug_echo "error encountered in cron job with \"apt-get check\"."
    exit 0
fi

# Global current time in seconds since 1970-01-01 00:00:00 UTC
now=$(date +%s)

# Support old Archive for compatibility.
# Document only Periodic for all controling parameters of this script.

UpdateInterval=0
eval $(apt-config shell UpdateInterval APT::Periodic::Update-Package-Lists)

DownloadUpgradeableInterval=0
eval $(apt-config shell DownloadUpgradeableInterval APT::Periodic::Download-Upgradeable-Packages)

UnattendedUpgradeInterval=0
eval $(apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade)

AutocleanInterval=0
eval $(apt-config shell AutocleanInterval APT::Periodic::AutocleanInterval)

BackupArchiveInterval=0
eval $(apt-config shell BackupArchiveInterval APT::Periodic::BackupArchiveInterval)

Debdelta=1
eval $(apt-config shell Debdelta APT::Periodic::Download-Upgradeable-Packages-Debdelta)

# check if we actually have to do anything that requires locking the cache
if [ $UpdateInterval -eq 0 ] &&
   [ $DownloadUpgradeableInterval -eq 0 ] &&
   [ $UnattendedUpgradeInterval -eq 0 ] &&
   [ $BackupArchiveInterval -eq 0 ] &&
   [ $AutocleanInterval -eq 0 ]; then

    # check cache size
    check_size_constraints

    exit 0
fi

# deal with BackupArchiveInterval
do_cache_backup $BackupArchiveInterval

# sleep random amount of time to avoid hitting the 
# mirrors at the same time
random_sleep
check_power || exit 0

# include default system language so that "apt-get update" will
# fetch the right translated package descriptions
if [ -r /etc/default/locale ]; then
    . /etc/default/locale
    export LANG LANGUAGE LC_MESSAGES LC_ALL
fi

# update package lists
UPDATED=0
UPDATE_STAMP=/var/lib/apt/periodic/update-stamp
if check_stamp $UPDATE_STAMP $UpdateInterval; then
    if eval apt-get $XAPTOPT -y update $XSTDERR; then
    debug_echo "download updated metadata (success)."
    if which dbus-send >/dev/null && pidof dbus-daemon >/dev/null; then
        if dbus-send --system / app.apt.dbus.updated boolean:true ; then
        debug_echo "send dbus signal (success)"
        else
        debug_echo "send dbus signal (error)"
        fi
    else
        debug_echo "dbus signal not send (command not available)"
    fi
    update_stamp $UPDATE_STAMP
    UPDATED=1
    else
    debug_echo "download updated metadata (error)"
    fi
else
    debug_echo "download updated metadata (not run)."
fi
    
# download all upgradeable packages (if it is requested)
DOWNLOAD_UPGRADEABLE_STAMP=/var/lib/apt/periodic/download-upgradeable-stamp
if [ $UPDATED -eq 1 ] && check_stamp $DOWNLOAD_UPGRADEABLE_STAMP $DownloadUpgradeableInterval; then
    if [ $Debdelta -eq 1 ]; then
        debdelta-upgrade >/dev/null 2>&1 || true
    fi
    if  eval apt-get $XAPTOPT -y -d dist-upgrade $XSTDERR; then
    update_stamp $DOWNLOAD_UPGRADEABLE_STAMP
    debug_echo "download upgradable (success)"
    else
    debug_echo "download upgradable (error)"
    fi
else
    debug_echo "download upgradable (not run)"
fi

# auto upgrade all upgradeable packages
UPGRADE_STAMP=/var/lib/apt/periodic/upgrade-stamp
if which unattended-upgrade >/dev/null && check_stamp $UPGRADE_STAMP $UnattendedUpgradeInterval; then
    if unattended-upgrade $XUUPOPT; then
    update_stamp $UPGRADE_STAMP
    debug_echo "unattended-upgrade (success)"
    else
    debug_echo "unattended-upgrade (error)"
    fi
else
    debug_echo "unattended-upgrade (not run)"
fi

# autoclean package archive
AUTOCLEAN_STAMP=/var/lib/apt/periodic/autoclean-stamp
if check_stamp $AUTOCLEAN_STAMP $AutocleanInterval; then
    if  eval apt-get $XAPTOPT -y autoclean $XSTDERR; then
    debug_echo "autoclean (success)."
    update_stamp $AUTOCLEAN_STAMP
    else
    debug_echo "autoclean (error)"
    fi
else
    debug_echo "autoclean (not run)"
fi

# check cache size 
check_size_constraints

#
#     vim: set sts=4 ai :
#

Zgodnie z tym co piszą na wstępie, trzeba utworzyć plik /etc/apt/apt.conf.d/02periodic i wkleić tam porzadane opcje dostosowując je odpowiednio. Czyli w moim przypadku to by było:

Kod:

APT::Periodic::MaxAge "0";
#  - Set maximum allowed age of a cache package file. If a cache 
#    package file is older it is deleted (0=disable)

APT::Periodic::MaxSize "0";
#  - Set maximum size of the cache in MB (0=disable). If the cache
#    is bigger, cached package files are deleted until the size
#    requirement is met (the biggest packages will be deleted 
#    first).

APT::Periodic::Download-Upgradeable-Packages "1";
#  - Do "apt-get upgrade --download-only" every n-days (0=disable)


#APT::Periodic::Download-Upgradeable-Packages-Debdelta "1";
#  - Use debdelta-upgrade to download updates if available (0=disable)

APT::Periodic::AutocleanInterval "14";
#  - Do "apt-get autoclean" every n-days (0=disable)

APT::Periodic::Verbose "1";
#  - Send report mail to root
#      0:  no report             (or null string)
#      1:  progress report       (actually any string)
#      2:  + command outputs     (remove -qq, remove 2>/dev/null, add -d)
#      3:  + trace on

I to praktycznie załatwia całą sprawę z lokalnym mirrorem. Przy czym ciekawą opcją jest jeszcze APT::Periodic::Download-Upgradeable-Packages-Debdelta "1"; — z tego co piszą w opisie pakietu debdelta:

debdelta is a program suite designed to compute changes between
Debian packages. These changes (deltas) are similar to the output of the
"diff" program in that they may be used to store and transmit only the
changes between Debian packages.

This suite contains 'debdelta-upgrade', that downloads deltas and use them
to create all Debian packages needed for an 'apt-get upgrade'.
It may be used in a Debian/unstable host (to speed up download of new
packages), or in a Debian/stable host (for security updates).

Similarly, when this package is installed, the 'cupt' package manager will
use deltas to upgrade the host.[/quote]
wychodzi na to, że zostaną dociągnięte tylko kawałki pakietów. Podoba mi się. Musze to kiedyś przetestować. xD

Została 6 i 9 — orientuje się ktoś? xD

Ostatnio edytowany przez morfik (2013-06-13 19:58:21)

Offline

 

#10  2013-06-14 10:15:19

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Bardzo podstawowa konfiguracja debiana

Ad 9:

These modern network configuration tools need to be configured properly to avoid conflicting with the legacy ifupdown package and its configuration file "/etc/network/interfaces".[/quote]
Oczywiście chodzi o wicd i network-manager. Myślę, że też można pod to podpiąć dhcpcd i pewnie parę innych. W każdym razie, wspomniany plik jest już przestarzały i pochodzi z pakietu ifupdown i w przypadku dhcpcd, można bez problemu ten pakiet wyrzucić, tak samo jak i pozbyć się innego klienta dhcp, który jest automatycznie instalowany — pakiety: isc-dhcp-client  isc-dhcp-common

Net póki co działa! xD

Ostatnio edytowany przez morfik (2013-06-14 12:56:35)

Offline

 

#11  2013-06-14 12:41:47

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Bardzo podstawowa konfiguracja debiana

[quote=morfik]6. Przy instalacji debiana można doinstalować pakiety za pomocą:

Kod:

tasksel install standard

To instaluje pakiety o priorytecie standard. Jak podejrzeć, które z pakietów mają taki priorytet oraz jakie są priorytety pakietów?[/quote]

Kod:

aptitude search ~pstandard ~pimportant ~prequired

Offline

 

#12  2013-06-14 12:54:32

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Bardzo podstawowa konfiguracja debiana

Ad 6:

Priorytety pakietów:
-- required
-- important
-- standard
-- optional
-- extra

Dodatkowo pakiet może posiadać pole essential, które:

Essential

This is a boolean field which may occur only in the control file of a binary package or in a per-package fields paragraph of a source package control file.

If set to yes then the package management system will refuse to remove the package (upgrading and replacing it is still possible). The other possible value is no, which is the same as not having the field at all.[/quote]
@yossarian — ja doszukałem się ciekawej linijki, która daje w rezultacie troszeczkę lepsze wyjście:

Kod:

morfik:~$ aptitude search '~prequired'|sed -ne 's/^i [ A] \([^ ]*\).*$/\1/p' | tr '\n' ' ' | sort -u|fold -s ; echo
base-files base-passwd bash bsdutils coreutils dash debconf debconf-i18n 
debianutils diffutils dpkg e2fslibs e2fsprogs findutils gcc-4.7-base 
gcc-4.8-base grep gzip hostname initscripts libacl1 libattr1 libblkid1 libc-bin 
libc6 libcomerr2 libgcc1 liblocale-gettext-perl liblzma5 libmount1 libncurses5 
libpam-modules libpam-modules-bin libpam-runtime libpam0g libpcre3 libselinux1 
libsepol1 libss2 libtext-charwidth-perl libtext-iconv-perl 
libtext-wrapi18n-perl libtinfo5 libuuid1 login lsb-base mawk mount 
multiarch-support ncurses-base ncurses-bin passwd perl-base sed sensible-utils 
sysv-rc sysvinit sysvinit-utils tar tzdata util-linux zlib1g 

morfik:~$ aptitude search '~pimportant'|sed -ne 's/^i [ A] \([^ ]*\).*$/\1/p' | tr '\n' ' ' | sort -u|fold -s ; echo
adduser apt apt-utils aptitude aptitude-common bsdmainutils cpio cron 
debian-archive-keyring dmidecode gnupg gpgv groff-base info install-info 
iproute iptables iputils-ping kmod libapt-inst1.5 libapt-pkg4.12 
libboost-iostreams1.49.0 libbz2-1.0 libcwidget3 libgdbm3 libkmod2 libncursesw5 
libnewt0.52 libpipeline1 libpopt0 libprocps0 libreadline6 libsigc++-2.0-0c2a 
libslang2 libssl1.0.0 libstdc++6 libudev0 libusb-0.1-4 logrotate man-db 
manpages nano net-tools netbase netcat-traditional procps readline-common 
rsyslog tasksel tasksel-data traceroute udev vim-common vim-tiny wget whiptail 

morfik:~$ aptitude search '~pstandard'|sed -ne 's/^i [ A] \([^ ]*\).*$/\1/p' | tr '\n' ' ' | sort -u|fold -s ; echo
apt-listchanges at bash-completion bc bind9-host bsd-mailx bzip2 db5.1-util dc 
debian-faq dnsutils doc-debian exim4 exim4-base exim4-config exim4-daemon-light 
file ftp gettext-base host krb5-locales less libasprintf0c2 libbind9-80 libcap2 
libclass-isa-perl libdb5.1 libdns88 libedit2 libevent-2.0-5 libgc1c2 
libgcrypt11 libgnutls-openssl27 libgnutls26 libgpg-error0 libgpm2 
libgssapi-krb5-2 libgssglue1 libidn11 libisc84 libk5crypto3 libkeyutils1 
libkrb5-3 libkrb5support0 libldap-2.4-2 liblockfile-bin liblockfile1 liblwres80 
libmagic1 libnfsidmap2 libp11-kit0 libpci3 libsasl2-2 libsqlite3-0 
libswitch-perl libtasn1-3 libtirpc1 libtokyocabinet9 libwrap0 libxml2 locales 
lsof m4 mime-support mlocate mutt ncurses-term nfs-common openssh-client patch 
pciutils perl perl-modules procmail python python-apt python-minimal 
python-reportbug python-support python2.6-minimal python2.7 reportbug rpcbind 
telnet texinfo time ucf w3m wamerican whois xz-utils

I jeszcze takie pytanie — jeżeli bym miał czysty system i dał do instalacji pakiety "standard" to pakiety z "important" i "required" zostaną automatycznie zainstalowane, czy trzeba by to w 3 krokach robić? — tasksel install dla required, important i standard?

Ostatnio edytowany przez morfik (2013-06-14 12:55:22)

Offline

 

#13  2013-06-14 12:59:51

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Bardzo podstawowa konfiguracja debiana

[quote=morfik]I jeszcze takie pytanie — jeżeli bym miał czysty system i dał do instalacji pakiety "standard" to pakiety z "important" i "required" zostaną automatycznie zainstalowane, czy trzeba by to w 3 krokach robić? — tasksel install dla required, important i standard?[/quote]
Nie sprawdzę teraz, ale chyba właśnie te trzy: required, important i standard

Offline

 

#14  2013-06-14 16:42:35

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Bardzo podstawowa konfiguracja debiana

Wyrzuciłem te 3 pakiety z important i po wydaniu polecenia 

Kod:

tasksel -t install standard

chciało mi je doinstalować. Także wychodzi na to, że dociąga ważniejsze paczki. Opcja -t umożliwia podejrzenie tego co zostanie zainstalowane:

Kod:

root@morfikownia:~# tasksel -t install standard
debconf-apt-progress -- apt-get -q -y -o APT::Install-Recommends=true -o APT::Get::AutomaticRemove=true install whois pciutils 
python2.6-minimal mlocate m4 exim4-base w3m less dnsutils bsd-mailx apt-listchanges rpcbind ifupdown doc-debian procmail dc 
python-support bind9-host isc-dhcp-client liblockfile-bin db5.1-util isc-dhcp-common mutt nfs-common exim4-config reportbug texinfo 
python2.7 time exim4 python-minimal debian-faq krb5-locales ftp lsof wamerican gettext-base at bc python-reportbug python 
openssh-client host exim4-daemon-light ncurses-term telnet python-apt

Można to sobie przekopiować, dostosować i manualnie za pomocą aptitude zainstalować, pozbywając się niepotrzebnych pakietów.

Offline

 

#15  2013-06-14 18:36:22

  drelbrown - Użytkownik

drelbrown
Użytkownik
Zarejestrowany: 2013-01-07

Re: Bardzo podstawowa konfiguracja debiana

à propos zarządzania pakietami warto zapoznać się z [deb]aptitude-doc-en[/deb].
Powiedzcie proszę dlaczego [deb]exim4[/deb] jest zaliczony do standardowych narzędzi systemowych ? Dawno już to zauważyłem i swego czasu szukałem odpowiedzi bezskutecznie.

Ostatnio edytowany przez drelbrown (2013-06-14 18:55:03)

Offline

 

#16  2013-06-14 20:00:23

  Yampress - Imperator

Yampress
Imperator
Zarejestrowany: 2007-10-18

Re: Bardzo podstawowa konfiguracja debiana

drelbrown bo wszyystkie komunikaty od różnch narzędzie deamonów są dostarczane na konto pocztowe roota. exim tylko działa lokalnie

Offline

 

#17  2013-06-14 21:25:04

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Bardzo podstawowa konfiguracja debiana

10. Jest jakaś różnica między syslinux i extlinux? Z tego co zauważyłem to na archu w opisie pakietu syslinux jest:

Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE[/quote]
W debianie jest:

SYSLINUX is a collection of boot loaders which operates off Linux ext2/3/4 or
btrfs filesystems, FAT and NTFS filesystems, network servers using PXE
firmware, or from CD-ROMs.[/quote]
Niby to samo ale przy instalacji syslinuxa (syslinux syslinux-common, tak jak i w przypadku archa) na debianie wyrzuca błąd, że boot nie jest fat'em i syslinux się nie chce zainstalować. Dociągnąłem extlinux, w opisie pakietu jest:

SYSLINUX is a collection of boot loaders which operates off Linux ext2/3/4 or
btrfs filesystems, FAT and NTFS filesystems, network servers using PXE
firmware, or from CD-ROMs.

This package contains the ext2/3/4 and btrfs bootloader.[/quote]
Większego zamieszania to nie mogli zrobić? xD

W każdym razie zachowałem sobie stare konfigi z archlinuxa ale bootloader się nie załadował. Przeniosłem pliki z /boot/syslinux do /boot/extlinux zmieniając nazwę pliku konfiguracyjnego z syslinux.cfg na extlinux.cfg . To samo. Dopiero zmiana nazwy z extlinux.cfg na extlinux.conf (niektórzy to mają problemy xD) wpuściło mnie do okienka wyboru systemów i dalej już poszło bez problemów.

11. Następna sprawa — ten mbr od extlinux jest taki sam jak w przypadku syslinux? Niby wgrałem ten od extlinux i nie wiem za bardzo czy by się odpalił na tym mbr od syslinuxa z archa.

Na to akurat już znalazłem odpowiedź sumując oba mbry:

Kod:

root:~# sha512sum /usr/lib/extlinux/mbr.bin
ae4ff49a828b947ecb4a657591d7f41829e812c364146e417cbe1da8a2fd1d70134e6b0f77748c802fe7ac589fd1af43453fc0e674425f9787c3538f7f0035f9  /usr/lib/extlinux/mbr.bin
root:~# sha512sum /usr/lib/syslinux/mbr.bin
ae4ff49a828b947ecb4a657591d7f41829e812c364146e417cbe1da8a2fd1d70134e6b0f77748c802fe7ac589fd1af43453fc0e674425f9787c3538f7f0035f9  /usr/lib/syslinux/mbr.bin

12. I takie jeszcze pytanie — czy posiadając mbr syslinuxowy albo extlinuxowy oraz kopie plików z /boot/syslinux albo /boot/extlinux można bez problemu bootować systemy zmieniając tylko plik konfiguracyjny przy równoczesnym braku zainstalowanych pakietów od tych bootloaderów?

13. A skoro mowa o syslinuxie, to w jaki sposób obniżyć okienko wyboru systemów w menu?

14. Xorg — jaka jest różnica między
Section "InputDevice"
Section "InputClass"

przy konfigurowaniu klawiatury i myszy?

Ostatnio edytowany przez morfik (2013-06-15 16:02:23)

Offline

 

#18  2013-06-16 18:30:14

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Bardzo podstawowa konfiguracja debiana

Ad 10:

Tyle z tym zamieszania, że głowa mała. Wychodzi na to, że syslinux to nazwa projektu, w którego skład wchodzi syslinux. :] W każdym razie, syslinux to bootloader od fat, extlinux od ext — nie mogli nazwać tego od fata, fatlinux?


Ad 12:

Tak się nie da, a przynajmniej nie do końca się da. Po odinstalowaniu pakietów: extlinux syslinux syslinux-common system będzie w stanie się uruchomić ale do momentu ruszenia pliku ldlinux.sys , który według tego opisu:

Syslinux boot process

    Load MBR. At boot, the computer loads the MBR (/usr/lib/syslinux/mbr.bin).
    Search active partition. The MBR looks for the partition that is marked as active (boot flag).
    Execute volume boot record. Once found, the volume boot record (VBR) will be executed. In the case of ext2/3/4 and FAT12/16/32, the starting sector of ldlinux.sys is hard-coded into the VBR.
    Execute ldlinux.sys. The VBR will execute (ldlinux.sys). Therefore, if the location of ldlinux.sys changes, Syslinux will no longer boot. (In the case of Btrfs, the above method will not work since files move around resulting in the sector location of ldlinux.sys changing. Therefore, the entire Syslinux code needs to be stored outside the filesystem. The code is stored in the sectors following the VBR.)
    Search configuration file. Once Syslinux is fully loaded, it looks for a configuration file, either extlinux.conf or syslinux.cfg.
    Load configuration. If one is found, the configuration file is loaded. If no configuration file is found, you will be given a Syslinux prompt.[/quote]
jest wgrywany w pierwszy sektor partycji /boot . Dlatego też póki się tego pliku nie przekopiuje, mbr będzie wiedział gdzie go szukać. Tak samo w drugą stronę — mając zainstalowany syslinux extlinux syslinux-common i skopiujemy powyższy plik, nie da rady uruchomić systemu.

ldlinux.sys jest tworzony przez wydanie polecenia: extlinux --install /boot/extlinux — na dobrą sprawę nie wiem czy to co napisałem wyżej jest prawdą, ale nic innego mi nie przychodzi do głowy. Jakie by było inne wyjaśnienie niemożności odpalenia systemu tylko przez skopiowanie tego plik?

Ad 13:

Do przesuwania menu w {sys,ext}linux służą dwa parametry dopisywane do pliki konfiguracyjnego:

Kod:

MENU HSHIFT 0
MENU VSHIFT 22

Nie wiem tylko jakie to są jednostki. W każdym razie przy tych parametrach okienko zostanie przesunięte w dół tak mniej więcej do środka ekranu.

Istnieją też i inne opcje, które mają wpływ na wygląd okna wyboru systemów. Więcej info na http://www.syslinux.org/wiki/index.php/Comboot/menu.c32

Ostatnio edytowany przez morfik (2013-06-16 19:40:30)

Offline

 

#19  2013-06-16 19:45:57

  Yampress - Imperator

Yampress
Imperator
Zarejestrowany: 2007-10-18

Re: Bardzo podstawowa konfiguracja debiana

http://dug.net.pl/tekst/193/instalacja_debiana_metoda_debootstrap/
Ale chyba już znasz. Nic innego nie ma

Offline

 

#20  2013-06-16 19:50:36

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Bardzo podstawowa konfiguracja debiana

Pisze własny, troszeczkę bardziej skomplikowany tutorial -- już ponad 2k linijek. xD

Offline

 

#21  2013-06-19 02:24:27

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Bardzo podstawowa konfiguracja debiana

Jaka jest różnica między tymi 4 pakietami i które instalować?

console-tools:

Pakiet pozwala na ustawianie i zarządzanie konsolą linuksową (np ekranem
i klawiaturą) oraz zarządzanie plikami czcionek konsolowych.

Pakiet console-tools został rozwinięty z wersji 0.94 standardowego pakietu
kbd. Integruje wiele poprawek i rozszerzeń, włączając nowe funkcje kbd do
wersji 0.99.

Prawdopodobnie konieczne będzie zainstalowanie dodatkowego zestawu plików
danych, takiego jak ten z pakietu console-data.

Dla zachowania zgodności z kbd można zainstalować pakiet kbd-compat.[/quote]
console-setup:

Pakiet dostarcza konsolę z konfiguracją klawiatury, która jest taka sama,
jak ta używana przez X Window System. W rezultacie nie ma potrzeby
dublowania, bądź zmieniania plików związanych z klawiaturą tylko po to, aby
stworzyć proste dostosowania, takie jak sposób użycia martwych klawiszy,
klawiszy funkcjonujących jako AltGr lub klawisz Compose, klawiszy do
przełączania się pomiędzy alfabetem łacińskim i innym itd.

Pakiet zawiera również fonty konsolowe, obejmujące wiele języków z całego
świata. Dostarcza zunifikowany zestaw rodzin fontów - klasyczny VGA,
uproszczony Fixed oraz przejrzysty Terminus, TerminusBold i TerminusBoldVGA.[/quote]
console-data:

Pakiet ten zawiera standardowe pliki danych dla narzędzi konsoli Linuksa.
.
Zawarto tu definicje klawiatury (mapy klawiszy), czcionki konsolowe dla
różnych kodowań, mapy definiujące standardowe zestawy znaków do użycia
przez aplikacje tekstowe oraz tablice cofnięć (ang. fallback tables),
pozwalające na przybliżanie nieobecnego znaku innym, obecnym w aktualnym
czcionce.[/quote]
kbd:

Ten pakiet pozwala na ustawianie parametrów konsoli Linuksa oraz zmianę
czcionki i rozmiaru tekstu wirtualnych terminali, a także zmianę mapowania
klawiatury.

Razem z instalacją tego pakietu zalecane jest zainstalowanie również
zestawu plików z danymi - np. pakietu console-data.[/quote]
Zgodnie z opisami, to albo zainstalować console-setup albo kbd + console-data + console-tools? I różnica ma być taka, że przy wykorzystaniu console-setup, klawiatura pod X-ami będzie skonfigurowana i nie trzeba będzie tego robić np. przez plik /etc/X11/xorg.conf. Dobrze to zrozumiałem?

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.010 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00124 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.216.96.94' WHERE u.id=1
0.00085 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.216.96.94', 1728308206)
0.00043 SELECT * FROM punbb_online WHERE logged<1728307906
0.00049 SELECT topic_id FROM punbb_posts WHERE id=234933
0.00005 SELECT id FROM punbb_posts WHERE topic_id=23717 ORDER BY posted
0.00033 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=23717 AND t.moved_to IS NULL
0.00026 SELECT search_for, replace_with FROM punbb_censoring
0.00131 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=23717 ORDER BY p.id LIMIT 0,25
0.00087 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23717
Total query time: 0.00596 s