вторник, 30 януари 2007 г.

Ubuntu/Debian - как да намерим кои файлове не са инсталирани от пакет


От: Peter Pentchev
До: Linux Users Group - Bulgaria
Дата: 29.01.2007 14:46
Тема: Re: [Lug-bg] Debian dpkg

On Sat, Jan 27, 2007 at 11:40:12AM +0200, Alexandar Angelov wrote:
> Как мога да разбера кои фаилове в не са инсталирани от dpkg

Не е директен отговор на въпроса ти, но пълен списък от всички файлове, за които dpkg "знае", можеш да получиш с комбинация от dpkg -l (или -W) и dpkg -L, примерно нещо като:

dpkg -l | awk '/^ii/ {print $2}' | xargs dpkg -L

"dpkg -l" ти дава списък от всички пакети, които си инсталирал някога (по-точно дава списък от всички пакети, за които има информация във /var/lib/dpkg/status, което е горе-долу същото). Следващата стъпка избира само пакетите, които *наистина* са инсталирани, след което ги подава на "dpkg -L", което ти показва всички файлове, които тези пакети са инсталирали.

(и преди някой да се е обадил, да, знам, че всъщност и двете "dpkg" горе би трябвало да бъдат "dpkg-query")

Оттук нататък имаш няколко възможности:
  • сортираш резултата (най-добре през sort -u, защото в резултата от dpkg -L има и директории, и какво ли не);
  • филтрираш резултата, за да намериш само файловете, примерно през нещо като perl -lne 'print if -f'
  • пускаш един "find / -type f", за да намериш всички файлове, които действително съществуват върху системата ти (можеш да замениш "/" с един или повече пътища, които действително те интересуват, ако не иска наистина всички)
  • сортираш резултата от find / -type f
  • сравняваш единия сортиран списък с файлове (тези, за които dpkg знае) с другия (тези, които действително са при теб), примерно с "diff -u"
  • интерпретираш по някакъв начин резултата от "diff -u" и правиш с него каквото ти харесва :) (за интерпретирането са удобни неща като egrep -e '^-' или egrep -e '^[+][^+]' ... но можеш да го направиш и по други начини, под Unix поне имаш голям избор от средства за обработка на текстова информация :)
Надявам се това да е помогнало поне малко; ако има нужда от още идеи и пояснения, казвай смело :)

Поздрави,
Петър

понеделник, 29 януари 2007 г.

Снимки от рождения ден на Александра



Измина една натоварена седмица, в която дъщеря ми стана на една годинка!

петък, 26 януари 2007 г.

Artima Developer - за програмисти

Днес съвсем случайно открих този сайт - Artima Developer. Разглеждт се основно теми, свързани с програмиране (езици, подходи, методологии), тестване и разработка на софтуер. Коментарите какато и темите са смислени, без преувеличения, flame wars, и други "паразити", често срещани в отворени дискусии.

четвъртък, 25 януари 2007 г.

Firebug 1.0 - Вече е факт!

Най-добрия инструмент за подпомагане разработката на уеб приложения е вече 1.0

Дъгата

Като няма сняг, поне имаме дъжд. Ето едно от малкото предимства:

вторник, 16 януари 2007 г.

Отвъд Selenium или как да автоматизираме досадните задачи

В последните дни имам удоволствието да работя с инструмента да автоматизирано теставане на уеб приложения Selenium. С две думи той позвалява да запишеш действията, които правиш в браузъра и след това да ги пускаш отново и отново. Също така дава възможност да провериш дали действието, което си извършил (например натискане на бутон) e успяло (като провериш дали на страницата се появил определен текст).

Аз, обаче, го използвах за нещо по-различно - да автоматизирам качването на картинки в фото галерията Picasa Web и клипове - в Google Video. Проблемът е, че качването на картинка по картинка е доста досадно. Не желая да ползвам Picasa за Linux за тази цел, защото използвам свободната digikam на моя компютър; Google Video Uploader - това осакатено Java приложение за Linux потребители - e пълно с "буболечки" и просто не работи. "Ко прайм ся?". Аз искам да укажа директория с картинки/видео файлове и след малко да ги видя в "Интернет"

Ето тук се намесва Selenium. Записаните стъпки за качване на една картинка се експортират като HTML файл със следната проста и лесна за рабиране структрура:

<tr>
<td>clickAndWait</td>
<td>link=Upload Photos</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>file0</td>
<td>/home/svilen/alex_koleda/convert/DSCF3616.JPG</td>
</tr>
<!-- може да се попълнят още 4 полета с картинки-->
<tr>
<td>clickAndWait</td>
<td>startbutton</td>
<td></td>
</tr>

За да кача N снимки, просто трябва да повторя тези стъпки N пъти с различна картинка. С помощта на един прост шаблон на Template::Toolkit аз мога да го генерирам такъв HTML файл с много картинки и да оставя Selenium IDE да контролира браузъра и той сам да ги качва.

Ето как приложих тази идея:
  1. Инстлирах си Selenium IDE разширението за Firefox
  2. Създадох шаблон picasa.tt, който генерира Selenium инструкции за всяка една картинка от дадена директория
  3. С помощта на този Template::Toolkit шаблон генерирах теста (програмата tpage се инсталира при инсталирането на Template::Toolkit):
    tpage --eval_perl --define dir=/parh/to/images picasa.tt > test.html
  4. Отворих Picasa Web, създадох нов албум и го отворих (все още празен)

  5. Стартирах Selenium IDE от Firefox > Tools > Selenium IDE и отворих от Selenium IDE > File > Open новосъздадения test.html

  6. Натиснах зелената стрелкичка за да стартира теста
Изведнъж, все едно дух се е вселил в браузара ми, картинките започнаха да е се качват сами :)

Същия трик го прилагам и при качването на видео файлове в Google Video

събота, 13 януари 2007 г.

Коледната картичка на Александра

Днес баба и дядо дойдоха на гости от Сандански и донесаха диска със снимките, които направихме във фото студиото (но си го забравихме)



Ето и "суровия материал"

сряда, 10 януари 2007 г.

Александра танцува



Вчера докато си слушах музика, Александра подскочи и започна да се клати в ритъма на парчето. Паднах от смях - не само се клатушкаше, но и разтърсваше глава в такт с музиката. Това продължи доста време, ето още един откъс

BTW, парчето е Monty Alexander - Sweet Georgia Brown.

четвъртък, 4 януари 2007 г.

"Искате ли да си инсталирате spyware?"

Днес реших да си проверя пощата в Yahoo и се натъкнах на следния бисер:



Изглежда са настъпили тежки времена за "шпионския софтуер" (spyware) , за да се налага да се рекламира сам себе си :)