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) команды наиболее распространены.
Хотите получить список полных последовательностей или список файлов, содержащих последовательность? Это приведет к поиску строки номер один (-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 , и явно создать резервную копию в определенное время.
в течение нескольких лет я использовал обертку скрипта 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