Почему мне нужно удалить использованные приложения?

Вы ожидаете, что значение $ PER будет сбрасываться до 50 для каждой итерации внешнего цикла while , но вы не сбрасываете его там.

Я также заметил, что вы считываете потенциально много данных в одну переменную в верхней части скрипта.

Это было бы немного эффективнее (при условии синтаксиса bash или ksh ):

cut -c 7-21 "Data.txt" |
while read -r code; do
    if [[ ! -f "../FASTA_SEC/$code.fa" ]]; then
        printf 'No such file: %s\n' "../FASTA_SEC/$code.fa"
        continue
    fi

    for (( win = 2; win < 20; win += 2 )); do
        printf 'The value of win is %d, now entereing inner loop\n' "$win"

        for (( per = 50; per < 100; per += 2 )); do
            printf 'Value of per is %d\n' "$per"
        done
    done
done

Это позволяет избежать чтения полного вывода cut в переменная и вместо этого читает ее построчно.

Это также позволяет избежать громоздких циклов while .

1
30.06.2017, 20:06
2 ответа

APT классифицирует установленные пакеты как установленные автоматически или установленные вручную. Если пакет помечен как автоматически устанавливаемый, он автоматически удаляется, если от него не зависит ни один установленный вручную пакет.

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

Однако если вы используете пакеты, вам необходимо пометить их как установленные вручную. Обычно это происходит автоматически, потому что любой явный запрос на установку пакета помечает его как установленный вручную, например. apt-get install PACKAGEили эквивалент с графическим интерфейсом.

Используйте команду apt-markдля управления базой данных автоматически/вручную. apt-mark auto PACKAGEобъявляетPACKAGEавтоматически установленным, а apt-mark manual PACKAGEобъявляетPACKAGEкак установлен вручную.

Запустите apt-get autoremove, чтобы удалить все пакеты, которые не требуются для какого-либо установленного вручную пакета. Вы получите запрос на подтверждение, поэтому, если это все еще удаляет вещи, которые вы хотите сохранить, отмените и объявите больше пакетов как установленные вручную.

0
27.01.2020, 23:33

У вас нет проблем.

Запустите

apt-get --purge autoremove

и apt удалит все перечисленные пакеты.

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

2
27.01.2020, 23:33

Теги

Похожие вопросы