энергия: как проследить все изменения, сделанные до файла в течение дня

Q1: Это зависит от Ваших текущих приоритетов. Можно просмотреть приоритеты с apt-cache policy команда. Вот пример нескольких строк от вывода:

 500 http://security.debian.org/ stable/updates/main amd64 Packages
     release v=6.0,o=Debian,a=stable,n=squeeze,l=Debian-Security,c=main
     origin security.debian.org

 100 http://backports.debian.org/debian-backports/ squeeze-backports/main amd64 Packages
     release o=Debian Backports,a=squeeze-backports,n=squeeze-backports,l=Debian Backports,c=main
     origin backports.debian.org

Можно также использовать apt-cache policy на единственном пакете:

$ apt-cache policy linux-image-2.6-amd64 
linux-image-2.6-amd64:
  Installed: (none)
  Candidate: 2.6.32+29
  Version table:
     3.2+46~bpo60+1 0
        100 http://backports.debian.org/debian-backports/ squeeze-backports/main amd64 Packages
     2.6.32+29 0
        500 http://apt.magazines.com/debian/ stable/main amd64 Packages

В приоритетах объясняют apt_preferences(5):

   P > 1000
       causes a version to be installed even if this constitutes a downgrade of the package

   990 < P <=1000
       causes a version to be installed even if it does not come from the target release, unless the installed version is more recent

   500 < P <=990
       causes a version to be installed unless there is a version available belonging to the target release or the installed version is more recent

   100 < P <=500
       causes a version to be installed unless there is a version available belonging to some other distribution or the installed version is more recent

   0 < P <=100
       causes a version to be installed only if there is no installed version of the package

   P < 0
       prevents the version from being installed

В нашем примере это означает, что, если данный пакет уже установлен от бэкпортов, он будет обновлен от бэкпортов. Если это не будет установлено от бэкпортов, то репозиторий бэкпортов не будет использоваться.

Q2: install команда используется для обновления единственных пакетов. Если пакет уже установлен когда install дан, это будет обновлено, если обновление будет доступно.

apt-get install packageX
aptitude install packageX

Q3: Для ОСНОВАННОГО НА ОБ/МИН дистрибутива это зависело бы от дистрибутива. Вещи как yum не связываются с rpm таким же образом это apt связывается с dpkg. Инструмент, используемый для обновлений и удаленного управления, варьируется в зависимости от дистрибутива. yum (RHEL) и zypper (SLES) команды наиболее распространены.

7
25.03.2015, 12:06
2 ответа

Хотите получить список полных последовательностей или список файлов, содержащих последовательность? Это приведет к поиску строки номер один (-n1) сценариев оболочки (* .sh) и сбору последовательностями, содержащих «bash»:

head -n1 *.sh | grep bash > fullstring.txt

fullstring.txt будет содержать что-то подобное:

#!/bin/bash
#!/bin/bash
-121--121445-

@ префикс в строке подавить эхо строки.

По умолчанию make печатает каждую строку Makefile перед ее выполнением. Если строки начинаются с @ , они не будут напечатаны.

Без @ :

$ cat > Makefile
hello:                                                                          
    echo hello world
$ make hello
echo hello world
hello world

С помощью @ :

$ cat > Makefile
hello:                                                                          
    @echo hello world
$ make hello
hello world

Обратите внимание, что только @ в начале строки приводит к подавлению эха . > $ @ .in или @ $ @ .in являются просто обычными последовательностями, и $ @ в нем будет развернуто:

$ cat hello
hello:
    @echo @$@.in
$make hello
@hello.in
-121--41556-

При достаточно большом значении 'undolevel' Вим должен иметь возможность отменить все дни изменения. Если вы выйдете из Vim в промежутке, вам также потребуется включить постоянную отмену , установив параметр 'undofile' .

Vim захватывает не просто последовательный список команд для отмены, но фактически дерево всех изменений. Он также имеет несколько команд вокруг отмены (cp. : help undo-branches ); вернуться в штат в начале дня,

:earlier 12h

- хороший кандидат.

Существуют также плагины, такие как Gundo и undotree.vim , которые визуализируют дерево отмены и позволяют перемещаться по нему.

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

15
27.01.2020, 20:15

в течение нескольких лет я использовал обертку скрипта VI , который сохраняет файлы, которые я редактирую. Это делает это максимум один раз в день, чтобы я не оказался слишком много файлов резервных копий.

Это более простая версия сценария, которую я использую; Возможно, это тоже полезно для вас. Вместо того, чтобы запустить VI , вы бы запустили VIB (VI с резервным копированием):

vib() {
    local DATE=$(date +'%Y-%m-%d') FILE BACK
    for FILE in "$@"
    do
        BACK="$FILE.$DATE"
        test ! -f "$BACK" && cp -p "$FILE" "$BACK"
    done
    vi "$@"
    for FILE in "$@"
    do
        BACK="$FILE.$DATE"
        cmp -s "$FILE" "$BACK" && rm -f "$BACK"
    done
}

Это может быть введено в .bash_profile или с функцией Декларация удалена, введена в исполняемый файл, такой как / usr / local / bin / vib

1
27.01.2020, 20:15

Теги

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