corrupted Δημοσ. 28 Δεκεμβρίου 2012 Share Δημοσ. 28 Δεκεμβρίου 2012 https://wiki.archlinux.org/index.php/Local_Mirror Yes, this script is partially broken ON PURPOSE to avoid people doing copy-and-paste to create their own mirror. It should be easy to fix if you REALLY want a mirror. Μπορει καποιος να βρει που ειναι broken το script ωστε να με βοηθησει με ενα mirror που θελω να παρω? Δεν τα παω καλα με bash scripting... Edit: Ακυρο, φαινεται να δουλευει. Του εδωσα το rsync://ftp.ntua.gr/archlinux/ και κατεβαζει κανονικα... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
martinoff Δημοσ. 29 Δεκεμβρίου 2012 Share Δημοσ. 29 Δεκεμβρίου 2012 Γιατί να κανεις κάτι τέτοιο όταν έχεις ABS ? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 29 Δεκεμβρίου 2012 Share Δημοσ. 29 Δεκεμβρίου 2012 Γιατί να κάνεις local mirror; Για αρκετούς λόγους. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
corrupted Δημοσ. 29 Δεκεμβρίου 2012 Μέλος Share Δημοσ. 29 Δεκεμβρίου 2012 Με το ABS τι μπορω να κανω? Βασικα το κόνσεπτ ειναι η δημιουργια ενος DVD για offline installation σ'ενα μηχανημα που εχω στο χωριο και ειναι αχρησιμοποιητο, χωρις δικτυο. Για να εχω κατι να κανω οταν πηγαινω. Οποτε σκεφτηκα: 1. Κατεβαζω το installation .iso 2. Χωνω αβερτα software στο δικο μου μηχανημα για να παρω με pacman -Q τη λιστα με τα packages. 3. Κανω mirror για να τραβηξω τα πακετα που χρειαζομαι, ευκολα. 4. Επεξεργαζομαι το installation .iso προσθετοντας στο root directory τους φακελους core, extra & community με τα πακετα μεσα. 5. Ξανακαιω το νεο .iso σε DVD5/DVD9. 6. Κατα τη διαρκεια της εγκαταστασης, κανω mount το DVD και δηλωνω στο mirrorlist το file:///mnt/path/ για server. Αυτα. Σκεφτηκα καλα? θα πετυχει? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
martinoff Δημοσ. 29 Δεκεμβρίου 2012 Share Δημοσ. 29 Δεκεμβρίου 2012 Γιατί να κάνεις local mirror; Για αρκετούς λόγους. Αλλο local mirror με τα πακέτα που θες, άλλο όλο το σύμπαν Με το ABS τι μπορω να κανω? Βασικα το κόνσεπτ ειναι η δημιουργια ενος DVD για offline installation σ'ενα μηχανημα που εχω στο χωριο και ειναι αχρησιμοποιητο, χωρις δικτυο. Για να εχω κατι να κανω οταν πηγαινω. Οποτε σκεφτηκα: 1. Κατεβαζω το installation .iso 2. Χωνω αβερτα software στο δικο μου μηχανημα για να παρω με pacman -Q τη λιστα με τα packages. 3. Κανω mirror για να τραβηξω τα πακετα που χρειαζομαι, ευκολα. 4. Επεξεργαζομαι το installation .iso προσθετοντας στο root directory τους φακελους core, extra & community με τα πακετα μεσα. 5. Ξανακαιω το νεο .iso σε DVD5/DVD9. 6. Κατα τη διαρκεια της εγκαταστασης, κανω mount το DVD και δηλωνω στο mirrorlist το file:///mnt/path/ για server. Αυτα. Σκεφτηκα καλα? θα πετυχει? Ναι Ενα μεγάλο USB δεν έχεις ? 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
corrupted Δημοσ. 29 Δεκεμβρίου 2012 Μέλος Share Δημοσ. 29 Δεκεμβρίου 2012 Δεν εβαλα ολους τους φακελους, μονο τα core, extra και community. Και το community τζαμπα θα το κατεβασω βασικα γιατι πολυ λιγα πακετα τραβαω απο κει. Αλλα βαριεμαι να καθομαι να τα διαλεγω και να τα κατεβαζω ενα-ενα και προτιμω απλα να τα σβησω οταν ερθει η ωρα. Ενα μεγάλο USB δεν έχεις ? Εχω, απλα προτιμω να εχω DVD για installation medium. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mandos Δημοσ. 29 Δεκεμβρίου 2012 Share Δημοσ. 29 Δεκεμβρίου 2012 https://wiki.archlinux.org/index.php/Offline_Installation_of_Packages έχει οδηγίες για αυτό που θες να κάνεις εναλλακτικά μπορείς να δοκιμάσεις και κάποια arch-based-distro, αν και δεν είναι το ίδιο... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
corrupted Δημοσ. 29 Δεκεμβρίου 2012 Μέλος Share Δημοσ. 29 Δεκεμβρίου 2012 Θα προτιμησω καθαρο Arch. Thank's για το link, δεν το ηξερα και απ'οτι φαινεται, θα γλυτωσω πολυ χρονο ετσι... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
corrupted Δημοσ. 29 Δεκεμβρίου 2012 Μέλος Share Δημοσ. 29 Δεκεμβρίου 2012 Τελικα δεν βγαινει ακρη απο εδω... https://wiki.archlinux.org/index.php/Offline_Installation_of_Packages Και αυτο γιατι εχω εγκατεστημενα 1194 πακετα, και το "pacman -Sp --noconfirm package1 package2 package3 κλπ" δινει ως αποτελεσμα τα πακετα που ειναι εγκατεστημενα χωρις ολα τα deps τους, μου βγαζει δηλαδη σαν αποτελεσμα 531 πακετα. Οποτε συνεχιζω το mirroring κανονικα. Το θεμα ειναι πώς θα "ξεχωρισω" αυτα τα 1194 πακετα απο το τοπικό mirror για να φτιαξω το layout με τους φακελους στο original δισκάκι... Μαλλον με το χερι βλεπω να το κανω, αν εχει κανεις καμια ιδεα να γινει αυτοματοποιημενα, με χαρα να την ακουσω... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mandos Δημοσ. 29 Δεκεμβρίου 2012 Share Δημοσ. 29 Δεκεμβρίου 2012 Γιατί δεν παίρνεις όλα τα πακετά και θες να τα ξεδιαλέξεις? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 29 Δεκεμβρίου 2012 Share Δημοσ. 29 Δεκεμβρίου 2012 Μιας και το έφερε η κουβέντα... Το παρακάτω script χρησιμοποιώ (για mirror του i686). #!/bin/bash Black='\e[0;30m' Blue='\e[0;34m' Green='\e[0;32m' Cyan='\e[0;36m' Red='\e[0;31m' Purple='\e[0;35m' Brown='\e[0;33m' Light_Gray='\e[0;37m' Dark_Gray='\e[1;30m' Light_Blue='\e[1;34m' Light_Green='\e[1;32m' Light_Cyan='\e[1;36m' Light_Red='\e[1;31m' Light_Purple='\e[1;35m' Yellow='\e[1;33m' White='\e[1;37m' Blink='\033[5m' Bold='\033[1m' Underline='\033[4m' No_Color='\033[0m' REPO="all" SCRIPT_NAME=$(basename "$0") # Array with the name ARGS which holds the parameters passed ARGS=($@) # The number of parameters passed NUM_ARGS=$# # trap ctrl-c. trap ctrl_c INT function put_error() { echo -e "\n${Light_Red}ERROR:${No_Color} $1\n" } function ctrl_c() { put_error "Sync process terminated by user." rm -f "$SYNC_LOCK" exit 1 } function show_help() { echo -e "\n${Light_Red}Usage:${No_Color} $SCRIPT_NAME [OPTION]\n\nOptions:" echo -e "--bwlimit KBPS limit I/O bandwidth; KBytes per second" echo -e "--exclude PATTERN exclude files matching PATTERN" echo -e "--repo REPO Sync only the given repo" echo -e "--server NUMBER Select server to sync from. --server list for a list o mirrors." echo -e "--help show this help" echo -e "\nE.g. $SCRIPT_NAME (no options). Syncs everything, full bandwidth.\n $SCRIPT_NAME --bwlimit 100. Syncs everything at 100 kbps." echo -e " $SCRIPT_NAME --exclude kde* lib* --bwlimit 150 --repo extra --server 3. Syncs at 150 kbps only the Extra repository, ignoring files starting with kde or lib.\n" exit 0 } #Checking if user running the script is root. # Comment out the lines below. #Start bellow if [ `id -u` = 0 ]; then put_error "You are running this script as root. I didn't want so. \n You have to comment out the code that implements the check (~ line 68)." exit 1 fi #Stop above function is_number() { if [ -n "$1" ]; then if [ $1 -eq $1 > /dev/null 2>&1 ]; then return 0 fi fi return 1 } # Set the rsync server to use #Default server SYNC_SERVER=rsync://ftp.hosteurope.de/archlinux function server(){ servers=(distro.ibiblio.org/distros/archlinux \ mirror.rit.edu/archlinux \ mirror.archlinux.fi/archlinux \ ftp.sh.cvut.cz/arch \ mirror.umoss.org/archlinux \ mir1.archlinuxfr.org/archlinux \ mirror.cs.vt.edu/archlinux \ ftp.hosteurope.de/archlinux \ archlinux.c3sl.ufpr.br/archlinux \ archlinux.giantix-server.de/archlinux \ ftp.hosteurope.de/archlinux \ laptop/archlinux) case "$1" in list) echo -e "Servers you can select from:\n" for i in `seq 0 $((${#servers[@]}-1))`; do echo "$i: ${servers[$i]}"; done echo echo -e "Default server: $SYNC_SERVER\n" exit 1 ;; *) if ( ! is_number $1 ) || [ $1 -gt $((${#servers[@]}-1)) ] || [ $1 -lt 0 ]; then put_error "Server must be a number between 0 and $((${#servers[@]}-1)). E.g. --server 3. --server list for a list of servers." echo -e " For more options try $SCRIPT_NAME --help\n" exit 1 fi SYNC_SERVER="rsync://${servers[$1]}" ;; esac } function param_fetcher() { #FLAG_X is used to avoid writing "--exclude PATERN" multiple times. Now we write "--exclude PATERN1 PATERN2 ... PATERNx". FLAG_X="1" for (( i=0; i<$NUM_ARGS; i++ )); do case "${ARGS[i]}" in --repo) FLAG_X="1" if [ -n "${ARGS[i+1]}" ]; then REPO=${ARGS[i+1]} ((i++)) else put_error "Repo must be a repository name. E.g. --repo extra, or --repo testing." echo -e " For more options try $SCRIPT_NAME --help\n" exit 1 fi ;; --help) FLAG_X="1" show_help ;; --bwlimit) FLAG_X="1" BAND_LIMIT=${ARGS[i+1]} if ( ! is_number $BAND_LIMIT ); then put_error "Bandwidth limit (--bwlimit) must be a number (kbytes) greater than zero (0). E.g. --bwlimit 150 means 150 kbytes" echo -e " For more options try $SCRIPT_NAME --help\n" exit 1 fi BAND_LIMIT="--bwlimit=$BAND_LIMIT" ((i++)) ;; --server) FLAG_X="1" server "${ARGS[i+1]}" ((i++)) ;; --exclude) FLAG_X="0" ;; *) if [ $FLAG_X = "0" ]; then EXCLUDE="$EXCLUDE --exclude ${ARGS[i]}" elif [ $FLAG_X = "1" ]; then put_error "Unkown option. ${ARGS[i]}" echo -e " For more options try $SCRIPT_NAME --help\n" exit 1 fi ;; esac done } # File system locations for the sync operations SYNC_HOME="/mnt/storage1/arch" SYNC_LOGS="$SYNC_HOME/logs" SYNC_EXTRA="$SYNC_HOME/extra/os/i686/" SYNC_CORE="$SYNC_HOME/core/os/i686/" SYNC_COMMUNITY="$SYNC_HOME/community/os/i686/" SYNC_TESTING="$SYNC_HOME/testing/os/i686/" SYNC_LOCK="/tmp/mirrorsync.lck" # Set the format of the log file name # This example will output something like this: pkgsync_20070201-8.log LOG_FILE="pkgsync_$(date +%Y%m%d-%H).log" #Fetching the parameters param_fetcher if [ ! -d $SYNC_HOME ]; then put_error "$SYNC_HOME does not exist. Please create it and run this script again." exit 1 fi # Do not edit the following lines, they protect the sync from running more than # one instance at a time if [ -f $SYNC_LOCK ]; then put_error "The sync failed. Check if $SCRIPT_NAME is already running.\n If not you must manually remove the file $SYNC_LOCK" exit 1 fi touch $SYNC_LOCK # Create the log file and insert a timestamp touch "$SYNC_LOGS/$LOG_FILE" echo "=============================================" >> "$SYNC_LOGS/$LOG_FILE" echo ">> Starting sync on $(date --rfc-3339=seconds)" >> "$SYNC_LOGS/$LOG_FILE" echo -e ">> ---" >> "$SYNC_LOGS/$LOG_FILE" echo -e "\n${Light_Red}Syncing from${No_Color} $SYNC_SERVER" if [ $REPO = "all" ] || [ $REPO = "extra" ]; then echo -e "\n${Light_Cyan}############################################" echo "#### ####" echo "#### Synchronizing Extra repository ####" echo "#### ####" echo -e "############################################${No_Color}\n" rsync -rptLv --partial --progress --delete-after --size-only --ignore-errors --no-motd --exclude-from=/mnt/storage1/arch/extr_exclude $EXCLUDE $BAND_LIMIT $SYNC_SERVER/extra/os/i686/ $SYNC_EXTRA fi if [ $REPO = "all" ] || [ $REPO = "core" ]; then echo -e "\n${Light_Red}############################################" echo "#### ####" echo "#### Synchronizing Core repository ####" echo "#### ####" echo -e "############################################${No_Color}\n" rsync -rptLv --partial --progress --delete-after --size-only --ignore-errors --no-motd $EXCLUDE $BAND_LIMIT $SYNC_SERVER/core/os/i686/ $SYNC_CORE fi if [ $REPO = "all" ] || [ $REPO = "community" ]; then echo -e "\n${Light_Green}############################################" echo "#### ####" echo "#### Synchronizing Community repository ####" echo "#### ####" echo -e "############################################${No_Color}\n" rsync -rptLv --partial --progress --delete-after --size-only --no-motd --ignore-errors --exclude-from=/mnt/storage1/arch/comm_exclude $EXCLUDE $BAND_LIMIT $SYNC_SERVER/community/os/i686/ $SYNC_COMMUNITY fi if [ $REPO = "all" ] || [ $REPO = "testing" ]; then echo -e "\n${Cyan}############################################" echo "#### ####" echo "#### Synchronizing Testing repository ####" echo "#### ####" echo -e "############################################${No_Color}\n" rsync -rptLv --partial --progress --delete-after --size-only --ignore-errors --no-motd --exclude-from=/mnt/storage1/arch/extr_exclude --exclude-from=/mnt/storage1/arch/comm_exclude $EXCLUDE $BAND_LIMIT $SYNC_SERVER/testing/os/i686/ $SYNC_TESTING fi #Insert another timestamp and close the log file echo ">> ---" >> "$SYNC_LOGS/$LOG_FILE" echo ">> Finished sync on $(date --rfc-3339=seconds)" >> "$SYNC_LOGS/$LOG_FILE" echo "=============================================" >> "$SYNC_LOGS/$LOG_FILE" echo "" >> "$SYNC_LOGS/$LOG_FILE" # Remove the lock file and exit rm -f "$SYNC_LOCK" exit 0 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
corrupted Δημοσ. 29 Δεκεμβρίου 2012 Μέλος Share Δημοσ. 29 Δεκεμβρίου 2012 Γιατί δεν παίρνεις όλα τα πακετά και θες να τα ξεδιαλέξεις? Γιατι θελω να χωρεσω σ'ενα Dual Layer DVD τα πακετα και για i686 και για x86_64... Ειναι πολυ δουλεια να κατσεις με το χερι να περασεις 2,5 χιλιαδες πακετα στο αρχικο .iso, οποτε θα δω τι θα κανω... το πολυ πολυ αν βαρεθω, να τα βαλω σε φλασακι 32GB, (χωρις τα games του community που ποιανουν αρκετο χωρο και χωρις αλλα μεγαλα πακετα, γιατι δε νομιζω να χωρανε ολα σε 32GB, αλλα θα το διαπιστωσω αυτο μολις τελειωσει το mirroring). @firewalker: Ευχαριστουμε. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
firewalker Δημοσ. 29 Δεκεμβρίου 2012 Share Δημοσ. 29 Δεκεμβρίου 2012 Το i686 (core, extra, community) χωρίς τα παιχνίδια είναι 15,2 Gbytes. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
corrupted Δημοσ. 29 Δεκεμβρίου 2012 Μέλος Share Δημοσ. 29 Δεκεμβρίου 2012 Ε, βαλε οτι τα x86_64 ειναι και μεγαλυτερα σε μεγεθος, οποτε σιγουρα δε χωρανε ολα σε φλασακι 32GB. Και δεν εχω και εξωτερικο δισκο ρε γαμωτο... Μαλλον θα αφιερωσω καποια ωρα για να τα ξεχωρισω με το χερι. Υπαρχει ενα θεμα ακομα. Σκοπευα τη διαχειριση του .iso να την κανω απο Windows. Aλλα βλεπω πως τα αρχεια που εχουν στο ονομα τους ανω-κατω τελεια ":", δεν αναγνωριζονται στα Windows. Αυτα για παραδειγμα ειναι τα... vi-1:050325-3-i686.pkg.tar.xz vi-1:050325-3-i686.pkg.tar.xz.sig Οποτε μαλλον πρεπει να τα κανω ολα σε Linux. Ξερει κανεις πως κανουμε extract το boot sector απο το installation .iso, για να το περασω στο τελος ως παραμετρο στο mkisofs και να γινει το δισκακι παλι bootable? Και να μπορω να το κανω απο terminal γιατι δεν τρεχω X και δεν εχω και τη δυνατοτητα να τρεξω λογω της GMA 3600 καρτας γραφικων... Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
corrupted Δημοσ. 29 Δεκεμβρίου 2012 Μέλος Share Δημοσ. 29 Δεκεμβρίου 2012 Ξερει κανεις πως κανουμε extract το boot sector απο το installation .iso, για να το περασω στο τελος ως παραμετρο στο mkisofs και να γινει το δισκακι παλι bootable? Το βρηκα (μαλλον). Στο arch installation disc, υπαρχει ενα αρχειο /ISOLINUX/ISOLINUX.BIN. ΑΥΤΟ πρεπει να ειναι το boot sector, οποτε θα χρησιμοποιησω αυτο. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα