31

TopE пишет:

знаете, почему параллельные прямые не пересекаются? Очевидно, потому что они - параллельные.

Если верить на слово всему чему нас в школе учили, то давно бы уже.. была бы операционная система, которая в принципе всех устраивает. Глюки с зависимостями RPM были еще в этих древних французких мандрейках и они реально были, так что приходилось со своими бредовыми командами вмешиваться в этот глубокоавтоматизированный процесс, а теперь это как снежный ком накрутилось так, что никто уже заниматься этим не хочет. Слака вообще не проверяет никаких зависимостей. Хотите что-то удалить - пожалуйста это без вопросов сразу будет удалено. Хотите вернуть обратно - нет проблем. Нельзя удалить только первый базовый набор, если память мне не изменяет и это правильно.

32

serafim-human пишет:

Если верить на слово всему чему нас в школе учили

В школе не врут, как минимум в геометрии. Но речь не об этом - если пакет не удаляется без выноса с собой еще пакетов, то он не является сиротой из определения сироты. Дальше следует логическое - удаляя не сироту, ломая зависимости в системе, вы ломаете зависимости в системе. кто при этом будет виноват? магия?
Определить однозначно пакет, является ли он сиротой можно, но определить однозначно, нужен ли он лично вам - уже не представляется возможным. использование всякого рода автоматической чистки системы от сирот - содержит в себе риск исходя из этого в любом случае.

33 (01.02.2017 01:57:13 отредактировано algri14)

serafim-human, лично я в линуксе понимаю слабо, но даже мне понятно, что Вы раздули вопрос, а не проблему.
Да, есть небольшая нелепица, ну и что, жить она никому не мешает, дисковое пространство эти пакеты занимают мизерное. Если раздражает, то удаляйте эти сироты по мере предложения системой, тогда точно они ничего не потянут(хотя я бы сначала проверил в пакетном менеджере, если что-то тянут, то менеджер сообщит зависимости).
В консоли тоже можно перед удалением проверить, тянет ли пакет за собой что-нибудь или нет:

 Консоль:
urpmq --whatrequires package

покажет список всех пакетов.rpm для которых он требуется.
Блин, из мухи слона сделали, ну прям больше никаких проблем нет, локализация во всех пакетах и т.п.

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

34 (01.02.2017 01:57:28 отредактировано algri14)

algri14 пишет:

В консоли тоже можно перед удалением проверить, тянет ли пакет за собой что-нибудь или нет:

 Консоль:
urpmq --whatrequires package

покажет список всех пакетов.rpm для которых он требуется.

Но консоль покажет список всех пакетов вообще, а нужны только те, что установлены в системе.
Надо добавить в команду поиск по системе, но тут я не силён, кто подскажет?

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

35

algri14 пишет:

Но консоль покажет список всех пакетов вообще, а нужны только те, что установлены в системе.
Надо добавить в команду поиск по системе, но тут я не силён, кто подскажет?

 Консоль:
[root@localhost files]# urpmq --whatrequires mc
mc
mc-desktop
mc-desktop
[root@localhost files]# for i in $(urpmq --whatrequires mc); do rpm -q $i; done
mc-4.8.13-4.mga5
[root@localhost files]# for i in $(urpmq --whatrequires mc); do rpm -q $i --qf %{NAME}; done
mc

Лучше пока в голову ничего не пришло bx

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

36

diablopc пишет:

Лучше пока в голову ничего не пришло

Работают обе команды, хотя с небольшим отличием, но у первой вывод более подробен, во второй первая строка почему-то "слеплена" из трёх.
Давать команды вполне можно и от пользователя:

+  №1 for i in $(urpmq --whatrequires python-xlib); do rpm -q $i; done

 Консоль:
[algri@localhost ~]$ for i in $(urpmq --whatrequires python-xlib); do rpm -q $i; done
caffeine-2.4.1.498-1.mga4.mrc
caffeine-2.4.1.498-1.mga4.mrc
пакет key-mon не установлен
пакет lightlang не установлен
пакет lightlang не установлен
пакет mintmenu не установлен
пакет mintmenu не установлен
пакет mintmenu не установлен
пакет obapps не установлен
пакет pyhoca-cli не установлен
пакет python-whiteboard не установлен                                                                                                                       
python-xlib-0.15-6.mga4

+  №2 for i in $(urpmq --whatrequires python-xlib); do rpm -q $i --qf %{NAME}; done

 Консоль:
[algri@localhost ~]$ for i in $(urpmq --whatrequires python-xlib); do rpm -q $i --qf %{NAME}; done
caffeinecaffeineпакет key-mon не установлен
пакет lightlang не установлен
пакет lightlang не установлен
пакет mintmenu не установлен
пакет mintmenu не установлен
пакет mintmenu не установлен
пакет obapps не установлен
пакет pyhoca-cli не установлен
пакет python-whiteboard не установлен

diablopc, спасибо, но иногда список зависимостей бывает очень даже длинный, поэтому всё таки нужна команда выводящая пакеты только те, что установлены в системе(не настаиваю,если найдёшь время)

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

37

algri14 пишет:

(не настаиваю,если найдёшь время)

Нашел)))
Добавь в конце команды | grep -v "не установлен"
Получится вот так:

 Консоль: user
[user@linuxforum.tech ~]$ for i in $(urpmq --whatrequires mc); do rpm -q $i; done  | grep -v "не установлен"

*** Добавлено: 1st Feb 2017 12:21:44 pm ***

ЗЫ
Если добавить в ~/.bashrc

urpmreq ()
{
for i in $(urpmq --whatrequires $1); do rpm -q $i; done  | grep -v "не установлен"
}


То можно буде делать вызов вотЬ так:

 Консоль: user
[user@linuxforum.tech ~]$ urpmreq somepackage

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

38

algri14 пишет:

во второй первая строка почему-то "слеплена" из трёх

Сорян, забыл про перевод строки:

 Консоль:
[root@localhost files]# for i in $(urpmq --whatrequires mc); do rpm -q $i --qf "%{NAME}\n"; done

Ну и для ~/.bashrc

urpmreq ()
{
for i in $(urpmq --whatrequires $1); do rpm -q $i --qf "%{NAME}\n"; done  | grep -v "не установлен"
}

А вот со всеми плюшками для ~/.bashrc

urpmreq()
{
if [ "$3" == "" ]; then
    echo "Вызов: urpmreq [ins|all] [name|full] package_name"
    exit
fi

if [ "$1" == "ins" ]; then
    GREP='| grep -v "не установлен" '
elif [ "$1" == "all" ]; then
    GREP=''
else
    echo "Вызов: urpmreq [ins|all] [name|full] package_name"
    exit
fi

if [ "$2" == "name" ]; then
    QF='--qf "%{NAME}\n"'
elif [ "$2" == "full" ]; then
    QF=''
else
    echo "Вызов: urpmreq [ins|all] [name|full] package_name"
    exit
fi

for i in $(urpmq --whatrequires $3); do rpm -q $i $QF; done $GREP
}
- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

39

LanuHum пишет:

Здравствуйте. Мне часто приходится тестировать программы, собирая их из исходников. Со временем набирается огромная куча пакетов, которые далее мне не нужны, тем более, что большее количество программ даже не собирается. Выделенный раздел забивается полностью, не давая даже установить то, что необходимо. Какая чудесная команда удалит всё, что не нужно для того, чтобы функционировал, ну, например, КДЕ в самом минимальном варианте, но больше в системе не осталось ни одной ненужной либы????

Собирайте внутри контейнеров или на виртуалках, смысл гробить основную систему...

40 (01.02.2017 22:08:59 отредактировано algri14)

diablopc пишет:

А вот со всеми плюшками для ~/.bashrc

Теперь пусть не говорят, что делать с сиротами-

serafim-human пишет:

"Не знаешь что именно ты делаешь - тогда сироты не удаляй и не трогай.

- есть команды для подстраховки, пусть проверяют и удаляют смело. Надо было всего лишь захотеть решить вопрос.
Хотя претензия как таковая к разрабам справедлива, по идее пакеты-сироты должны удаляться автоматом. Но я уже сказал, что это не проблема, а мелкий вопросик.
зы: diablopc, сделаю копипаст на форум Магеи

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

41 (01.02.2017 22:44:21 отредактировано algri14)

diablopc пишет:

 Консоль:
[root@localhost files]# for i in $(urpmq --whatrequires mc); do rpm -q $i --qf "%{NAME}\n"; done

Команда не проходит, где-то ошибка, консоль выдала:

 Консоль:
[algri@localhost ~]$ for i in $(urpmq --whatrequires python-xlib); do rpm -q $i --qf "%{NAME}\n  | grep -v "не установлен"
>

 Консоль:
[algri@localhost ~]$ for i in $(urpmq --whatrequires python-xlib); do rpm -q $i --qf "%{NAME}\n
>

 Консоль:
bash: /home/algri/.bashrc: line 44: unexpected EOF while looking for matching `"'
bash: /home/algri/.bashrc: line 46: ошибка синтаксиса: неожиданный конец файла

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

42

algri14 пишет:

Команда не проходит, где-то ошибка, консоль выдала:

 Консоль:
[algri@localhost ~]$ for i in $(urpmq --whatrequires python-xlib); do rpm -q $i --qf "%{NAME}\n  | grep -v "не установлен"
>

 Консоль:
[algri@localhost ~]$ for i in $(urpmq --whatrequires python-xlib); do rpm -q $i --qf "%{NAME}\n
>

А почему эт у тебя в команде вторых кавычек нету???

 Консоль:
[algri@localhost ~]$ for i in $(urpmq --whatrequires python-xlib); do rpm -q $i --qf "%{NAME}\n"

*** Добавлено: 1st Feb 2017 9:46:56 pm ***

algri14 пишет:

Консоль
bash: /home/algri/.bashrc: line 44: unexpected EOF while looking for matching `"'
bash: /home/algri/.bashrc: line 46: ошибка синтаксиса: неожиданный конец файла

А вот здесь я лишние кавычки оставил  bm исправил
Скопипасть еще раз и проверь)

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

43 (01.02.2017 23:49:33 отредактировано algri14)

diablopc пишет:

Скопипасть еще раз и проверь)

 Консоль:
bash: /home/algri/.bashrc: line 44: syntax error near unexpected token `$GREP'
bash: /home/algri/.bashrc: line 44: `for i in $(urpmq --whatrequires $3); do rpm -q $i $QF; done $GREP'
[algri@localhost ~]$ for i in $(urpmq --whatrequires python-xlib); do rpm -q $i --qf "%{NAME}\n"
>

До добавления в ~/.bashrc было, т.е. по дефолту:

# .bashrc
function func_urpmi_many()
{
    CHECKLST=""
    for pkgname in $@
    do
        CHECKLST+="^${pkgname}$ "
    done
    
    APPROVED=`urpmf --name ${CHECKLST} | sort | uniq`
    /usr/bin/gurpmi ${APPROVED}
}
# User specific aliases and functions
alias urpmi_many=func_urpmi_many
# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

*** Добавлено: 01.02.2017 23:02:53 ***

А вот так работает:

 Консоль:
[algri@localhost ~]$ for i in $(urpmq --whatrequires python-xlib); do rpm -q $i; done  | grep -v "не установлен"
caffeine-2.4.1.498-1.mga4.mrc
caffeine-2.4.1.498-1.mga4.mrc
python-xlib-0.15-6.mga4

а почему первая строчка повторяется дважды?
*** Добавлено: 01.02.2017 23:09:51 ***

И вот так тоже работает:

 Консоль:
[algri@localhost ~]$ for i in $(urpmq --whatrequires python-xlib); do rpm -q $i --qf "%{NAME}\n"; done  | grep -v "не установлен"
caffeine
caffeine
python-xlib

в ~/.bashrc сейчас по дефолту
*** Добавлено: 01.02.2017 23:16:37 ***

diablopc пишет:

Если в ~/.bashrc добавить:

urpmreq ()
{
for i in $(urpmq --whatrequires $1); do rpm -q $i; done  | grep -v "не установлен"
}

То в консоль можно давать короткую команду, название пакета-сироты(или просто зависимость пакета):

 Консоль:
[algri@localhost ~]$ urpmreq python-xlib
caffeine-2.4.1.498-1.mga4.mrc
caffeine-2.4.1.498-1.mga4.mrc
python-xlib-0.15-6.mga4

Хотя и по дефолту в ~/.bashrc , команда urpmreq python-xlib  работает - консоль перезагрузил и перестало

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

44

algri14 пишет:

а почему первая строчка повторяется дважды?

А выполните по отдельности каждую из команд конвейера, увидите.

algri14 пишет:

консоль перезагрузил и перестало

Потому что у вас интерпретатор работает как login shell, надо в ~/.bash_login, или настроить эмулятор терминала, чтобы он пускал bash без ключика --login.

algri14 пишет:

grep -v "не установлен"

Вообще, так делать нежелательно, надо задать для ковейера LANG=en и грепать "not installed", ну да это уже придирки от желания видеть переносимый скриптинг ab

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

45

Тюфу, блин....
...забыл я уж о том что .bashrc по другому все воспринимает, а тестил на обычном исполняемом файле....
ВотЬ (проверено в Mageia 5)

urpmreq()
{
if [ "$3" == "" ]; then
    echo "Вызов: urpmreq [ins|all] [name|full] package_name"
    return 0
fi

if [ "$1" == "ins" ]; then
    QUERY='-qa'
elif [ "$1" == "all" ]; then
    QUERY='-q'
else
    echo "Вызов: urpmreq [ins|all] [name|full] package_name"
    return 0
fi

if [ "$2" == "name" ]; then
    QF='--qf %{NAME}\n'
elif [ "$2" == "full" ]; then
    QF=''
else
    echo "Вызов: urpmreq [ins|all] [name|full] package_name"
    return 0
fi

for i in $(urpmq --whatrequires $3)
 do
    rpm $QUERY $i $QF
 done
}
yars пишет:

ну да это уже придирки от желания видеть переносимый скриптинг

Отказался полностью от grep, так что теперь хоть на китайском

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

46 (02.02.2017 00:58:00 отредактировано algri14)

diablopc пишет:

Отказался полностью от grep, так что теперь хоть на китайском

 Консоль:
[algri@localhost ~]$ urpmreq gtkspell3
Вызов: urpmreq [ins|all] [name|full] package_name

Не хочетЬ оно выполняться, делал в Магее-4(думаю что без разницы)

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

47

algri14 пишет:

Не хочетЬ оно выполняться, делал в Магее-4

Так все правильно))
Ему три параметра дать нуно:
1)  [ins|all] - выводить установленные зависимости (ins) или все (all)
2) [name|full] - выводить имена пакетов (name) или расширеную инфу (full)
3) Имя пакета

т.е. как-то так:

 Консоль:
urpmreq ins full gtkspell3

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

48 (02.02.2017 01:07:40 отредактировано algri14)

yars пишет:

Вообще, так делать нежелательно, надо задать для ковейера LANG=en и грепать "not installed", ну да это уже придирки от желания видеть переносимый скриптинг

Это не придирка, а так оно и должно быть, но я рад хоть чему-то
*** Добавлено: 02.02.2017 01:05:49 ***

diablopc пишет:

т.е. как-то так:

 Консоль:
urpmreq ins full gtkspell3

Ну вот это другое дело  az
зы: я на форуме Магеи в двух темах твой материал упомянул, спасибо ещё раз

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

49

Для справки, команды даются от пользователя, ведь правился ~/.bashrc в домашней директории, поэтому команда от root не пройдёт(но этого и не требуется)

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

50

Еще одно замечание: если

echo "Вызов: urpmreq [ins|all] [name|full] package_name"
return 0

оформить в виде функции, то три повтора одной и той же строки можно исключить, а функции можно еще и ненулевой код ошибки передавать (чтобы она его вернула запустившему процессу), если аргументы неправильные.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

51

yars,

оформить в виде функции,

а функцию внутри другой можно лепить?
Типа вот так?

FUNC1()
   {
     FUNC2()
          {
          }
   FUNC2
   }

ненулевой

это ж не ошибка в выполнении, а ошибка ввода.

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

52 (03.02.2017 06:40:11 отредактировано algri14)

yars пишет:

оформить в виде функции, то три повтора одной и той же строки можно исключить,

Да, diablopc, было бы лучше, а то в выводе один и тот же пакет 3 раза повторяется
Проверил кое-какие сироты, вернее сказать обозначенные сиротами, а на деле они в зависимостях у libreoffice стоят, вот тебе и сироты - камень в огород Магеи-4, хотя дело уже прошлое, 6-я на подходе.

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

53

Я знаю что такое функция, что такое указатели и объявление переменных и что любую функцию можно вызывать, кроме наверное функции main() и, если понадобится, то я книжку полистаю и до последней кавычки разберусь с этим скриптом, но для новичков, которые только вчера себе Магею поставили это похоже на то, что умные дяденьки на каком-то только им понятном языке разговаривают. Что новичкам пошагово делать-то, если даже как исполняемым сделать файл они не знают?

54

diablopc, никто не запрещает, см. вот этот документ.
serafim-human, остается только изучать или использовать готовое. Да, C/C++ тут немного не о том, мы тут про "язык программирования", который "встроен" в командный интерпретатор bash. А импользовать это так: скопируйте содержимое сценария в файл ~/.bash_login и перезапустите эмулятор терминала.
*** Добавлено: 3rd Feb 2017 12:47:57 ***

diablopc пишет:

это ж не ошибка в выполнении, а ошибка ввода.

Ну, строго говоря, это ошибка не ввода, а неправильных аргументов, но все равно программа обязана возвращать ненулевой код завершения -- а вдруг это решат еще больше заскриптовать? :-) Представьте себе, что скриптик кто-то для себя в другой скриптик обернул, а вы новую версию с измененным синтаксисом командной строки выкатили...

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

55 (04.02.2017 20:19:23 отредактировано algri14)

serafim-human пишет:

Что новичкам пошагово делать-то,

serafim-human,  я как раз из таких чайников, и пусть всё что  написал DiabloPC для меня китайская грамота, вполне по силам выполнить
1) найти в домашнем каталоге скрытый текстовый файл ~/.bashrc ( ~ знак тильда указывает именно на домашний каталог пользователя, а точка перед файлом, то что он скрытый)
2) скопировать из поста_№45 и добавить в файл ~/.bashrc
3) дать в терминале/консоли команду от ползователя $ (не root # ),ведь правился ~/.bashrc в домашней директории, например:

 Консоль:
[algri@localhost ~]$ urpmreq ins full liborcus0.6_0 (можно и полностью liborcus0.6_0-0.5.1-9.mga4.i586)
liborcus0.6_0-0.5.1-9.mga4
libreoffice-calc-4.3.7.2-1.mga4
libreoffice-calc-4.3.7.2-1.mga4
libreoffice-calc-4.3.7.2-1.mga4
libreoffice-calc-4.3.7.2-1.mga4

сможет любой чайник. А вот вывод озадачивает, ибо пакет liborcus0.6_0-0.5.1-9.mga4.i586 обозначен сиротой, а стоит в зависимостях у libreoffice-calc-4.3.7.2-1.mga4 , вот и получается, что удалять его нельзя. Даже если можно, то я как новичок этого делать не буду, дабы не нарваться на неприятности.
зы: вывод команды urpme --auto-orphans может давать и ошибки, проверяется командой urpmq --requires (стандартной)
 Консоль:
[algri@localhost ~]$ urpmq --requires libreoffice-calc
libreoffice-calc: liborcus-0.6.so.0
.............................ps: вывод пакетов может быть довольно днинным

что и требовалось доказать - пакет liborcus0.6_0-0.5.1-9.mga4.i586 удалять нельзя.

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

56

Идеальным решением будет удаление сирот силами системы(в том числе и в графике), но разрабам не до того, чтобы заниматься этой мелочёвкой, хотя на слабых машинах и плохим инетом это заметно сильнее(кто-то  говорил об этом на форуме Магеи).
Так что теперь любой новичок может исправить ситуацию.

BoDun⇓ пишет:

Конечно есть qt4urpm, ..............
..... благодаря ей, я узнал, как помечать пакеты, чтоб они не было осиротевшими (до этого не знал)

В графической утилите qt4urpm , запускаемой в консоли, после проверки на зависимости, если пакет не сирота, то кнопкой Not Orphaned(Не сирота) легко помечаете его и больше он не будет всплывать в сообщениях о пакетах-сиротах.
И вообще, всплывающее сообщение о пакетах-сиротах заключается в своей надоедливости глазу и незнанием как решить этот пустяк.

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

57

yars пишет:

оформить в виде функции, то три повтора одной и той же строки можно исключить,

Исключил

yars пишет:

функции можно еще и ненулевой код ошибки передавать

Передал


algri14, Повторы в выводе убрал

urpmreq()
    {
        SHOW_HELP()
                {
                echo "Вызов: urpmreq [ins|all] [name|full] package_name"
                }
        CLEANUP()
                {
                 if [ -e $TEMP ]; then
                 rm -f $TEMP
                 fi
                }
    trap 'CLEANUP; return 1' EXIT INT
    ARGS=3
    E_BADARGS=65
    TEMP=/tmp/urpmreq
        if [ $# -ne "$ARGS" ]; then
            SHOW_HELP
            return $E_BADARGS
        fi

        if [ "$1" == "ins" ]; then
            QUERY='-qa'
        elif [ "$1" == "all" ]; then
            QUERY='-q'
        else
            SHOW_HELP
            return $E_BADARGS
        fi

        if [ "$2" == "name" ]; then
            QF='--qf %{NAME}\n'
        elif [ "$2" == "full" ]; then
            QF=''
        else
            SHOW_HELP
            return $E_BADARGS
        fi
    CLEANUP
    for i in $(urpmq --whatrequires $3)
        do
            rpm $QUERY $i $QF >> $TEMP
        done
    uniq $TEMP; CLEANUP
    }
- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

58

DiabloPC, Надо бы еще временный файл за собой подчищать:

+ cleanup() {
+   if [ ! -z $TEMPFILE ]; then
+     rm -f $TEMPFILE
+   fi
+ }
+ trap 'cleanup' EXIT INT

Для информации: signal.h, trap(1), Глава 29. Отладка сценариев, bash(1).

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

59

yars, т.е. ниже добавить в файл ~/.bashrc (поясни)

Изучайте нюансы и мелочи - порой в них заключена вся суть проблемы!
Mageia 5.1х86_64 KDE; Mageia 6х86_64 Xfce [ highlight=#000][ console=inline] [ b][ color=#4f4]текст[ /color][ /b] [ /console][ /highlight]

60

algri14 пишет:

т.е. ниже добавить в файл ~/.bashrc (поясни)

Не не не, это не совсем туда.... Погодь пару мин...
*** Добавлено: 6th Feb 2017 12:42:28 am ***

algri14, Вот, впилил то что yars писал.... Очистить систему от ненужных пакетов

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему