From: Sergey Shilov <hsv@dstszi.gov.ua> To: sisyphus@altlinux.ru Subject: Re: [sisyphus] Умно почистить кэш apt-a Date: Fri, 7 May 2004 13:38:46 +0300 Message-ID: <200405071338.48857.hsv@dstszi.gov.ua> (raw) In-Reply-To: <409B4BB5.2080309@mail.ru> В сообщении от 7 Май 2004 11:41 Игорь написал(a): > В апреле обсуждалась тема чистки Вопрос был мой. > предлагаю скрипт, но извиняюсь за стиль - не спец Аналогично. > > !!!! Файлы предварительно переименовываются к именам пакетов > (в обсуждении предлагался скрипт по переименованию) Предлагаемый скрипт делает это сам используя RPM > > Только после этого можно использовать этот, а то вычистит все > что не соответствует правилу формирования имени RPM файла. Этот просто ничего не сделает > > Опробовано на Compact 2.3. + Sisyphus (на 20040505) Тоже опробовано > ___________________________________________________ > Кому страшно - может предварительно отсадить куда нибудь > пакеты _______________________________________________ Очень правильная мысль! Предлагаемый скрипт "натравливался" именно на отсаженный контент. #!/bin/bash # # fformat="%{NAME}-%{VERSION}-%{RELEASE}.%{RHNPLATFORM}.rpm" # pkg_dir="MY cache dir" # pkg_installed=`rpm -qa --queryformat "%{NAME}\\n"` cd $pkg_dir for ipkg in $pkg_installed ; do ipkgfullname=`rpm -q $ipkg` pkg_cached=`find . -iname $ipkg\*` if [ -z "$pkg_cached" ] ; then echo "$ipkg" continue fi echo "" echo "$ipkg ( $ipkgfullname )" echo "---------------------" echo "$pkg_cached" for cpkg in $pkg_cached ; do cpkgex=`rpm -qp $cpkg --queryformat "%{NAME}-%{VERSION}-%{RELEASE}"` nfname=`rpm -qp $cpkg --queryformat $fformat` echo "compare $cpkgex == $ipkgfullname" if [ "$cpkgex" == "$ipkgfullname" ] ; then echo "---> $cpkg aka $nfname " # Чго собственно с пакетом делать # cp $cpkg ./installed/$nfname # mv $cpkg ./installed/$nfname break fi done echo "" done Для поиска пакетов скачаных но не установленных пакетов пользовал другой скрипт #!/bin/bash # # fformat="%{NAME}-%{VERSION}-%{RELEASE}.%{RHNPLATFORM}.rpm" # pkg_dir="MY cache dir" # pkg_dir="/home/hsv/APT/archives" cd $pkg_dir pkg_cached=`ls *.rpm` for pkgfile in $pkg_cached ; do pkgname=`rpm -qp $pkgfile --queryformat "%{NAME}"` nfname=`rpm -qp $pkgfile --queryformat $fformat` if [ -n "`rpm -q $pkgname 2> /dev/null`" ] ; then echo "skip $pkgfile" else mv $pkgfile ./downloaded/$nfname echo "move $pkgfile to ./downloaded as $nfname" fi done С уважением Сергей Шилов
prev parent reply other threads:[~2004-05-07 10:38 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2004-05-07 8:41 Игорь 2004-05-07 9:34 ` Ildar Mulyukov 2004-05-07 10:38 ` Sergey Shilov [this message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=200405071338.48857.hsv@dstszi.gov.ua \ --to=hsv@dstszi.gov.ua \ --cc=sisyphus@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Sisyphus discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \ sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru public-inbox-index sisyphus Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sisyphus AGPL code for this site: git clone https://public-inbox.org/public-inbox.git