Для замены "a" на "A" (только первые встречающиеся буквы в строке):
$ sed 's/a/A/' имя файла
и с сохранением результата
$ sed 's/a/A/' имя файла > имя файла2
Для замены "a" на "A" (весь текст):
$ sed 's/a/A/g' имя файла
и с сохранением результата
$ sed 's/a/A/g' имя файла > имя файла2
среда, 19 мая 2010 г.
вторник, 18 мая 2010 г.
Perl перенаправление ввода-вывода
#!/usr/bin/perl
### ПЕРЕМЕННЫЕ
$log="log.log";
$out="out.dat";
$err="err.dat";
###
#system ("rm $out $log $err");
### Сохраняем стандартный вывод и вывод ошибок
open(SAVEOUT, ">&STDOUT");
open(SAVEERR, ">&STDERR");
### Открываем файл для записи
open (LOG,"> $log") or die "do not open $log!!!\n";
### Процедура вывода в файл
sub prn2f {
$param =$_[0];
select (LOG); $|=1;
print $param;
}
### Процедура вывода в изначальный STDOUT
sub prn2std {
$param =$_[0];
select (SAVEOUT); $|=1;
print $param;
select (LOG); $|=1;
}
### Процедура вывода в изначальный STDERR
sub prn2err {
$param =$_[0];
select (STDERR); $|=1;
print $param;
select (LOG); $|=1;
}### Перенаправляем STDOUT и STDERR в файлы
sub std2file {
open (STDOUT, "> $out") or die "do not forward STDOUT to $out...\n";
open (STDERR, "> $err") or die "do not forward STDERR to $err....\n";
select(STDERR); $| = 1; # отключаем буферизацию
select(STDOUT); $| = 1; # отключаем буферизацию
}
### Восстанавливаем вывод
sub std2std {
open(STDOUT, ">&SAVEOUT");
open(STDERR, ">&SAVEERR");
}
### НАЧАЛО ПРИМЕРА
prn2std ("Вывод в стандартную консоль\n");
prn2f ("Вывод в файл\n");
prn2err("Вывод в поток ошибок\n");
std2file();
prn2std ("Вывод в стандартную консоль\n");
prn2f ("Вывод в файл\n");
prn2err("Вывод в поток ошибок\n");
std2std();
### КОНЕЦ
__END__
### ПЕРЕМЕННЫЕ
$log="log.log";
$out="out.dat";
$err="err.dat";
###
#system ("rm $out $log $err");
### Сохраняем стандартный вывод и вывод ошибок
open(SAVEOUT, ">&STDOUT");
open(SAVEERR, ">&STDERR");
### Открываем файл для записи
open (LOG,"> $log") or die "do not open $log!!!\n";
### Процедура вывода в файл
sub prn2f {
$param =$_[0];
select (LOG); $|=1;
print $param;
}
### Процедура вывода в изначальный STDOUT
sub prn2std {
$param =$_[0];
select (SAVEOUT); $|=1;
print $param;
select (LOG); $|=1;
}
### Процедура вывода в изначальный STDERR
sub prn2err {
$param =$_[0];
select (STDERR); $|=1;
print $param;
select (LOG); $|=1;
}### Перенаправляем STDOUT и STDERR в файлы
sub std2file {
open (STDOUT, "> $out") or die "do not forward STDOUT to $out...\n";
open (STDERR, "> $err") or die "do not forward STDERR to $err....\n";
select(STDERR); $| = 1; # отключаем буферизацию
select(STDOUT); $| = 1; # отключаем буферизацию
}
### Восстанавливаем вывод
sub std2std {
open(STDOUT, ">&SAVEOUT");
open(STDERR, ">&SAVEERR");
}
### НАЧАЛО ПРИМЕРА
prn2std ("Вывод в стандартную консоль\n");
prn2f ("Вывод в файл\n");
prn2err("Вывод в поток ошибок\n");
std2file();
prn2std ("Вывод в стандартную консоль\n");
prn2f ("Вывод в файл\n");
prn2err("Вывод в поток ошибок\n");
std2std();
### КОНЕЦ
__END__
суббота, 15 мая 2010 г.
SSH доступ без пароля
Создаем открытый и закрытый ключ нашей локальной системы (с которой хотим подключаться к серверу):
$ ssh-keygen -t dsa –b 1024
Приватный ключ сохраняется в ~/.ssh/id_dsa или ~/.ssh/id_rsa, а публичный в ~/.ssh/id_dsa.pub или ~/.ssh/id_rsa.pub (для ключей DSA и RSA соответственно).
Для включения аутентификации по ключам публичный ключ должен быть помещен в файл ~/.ssh/authorized_keys на компьютер К КОТОРОМУ мы собираемся подключаться без пароля.
Копируем ключ на удаленный компьютер. Любыми безопасными методами.
Например:
$ scp ~/.ssh/id_rsa.pub user@(ip-адрес):~/.ssh/authorized_keys
Спросит пароль пользователя user.
Настраиваем права доступа, хост зеркало:
$ chmod 700 ~/.ssh
$ chmod 600 authorized_keys
Проверяем соединение без пароля:
ssh -i ~/.ssh/id_dsa -p22 user@(ip-адрес)
$ ssh-keygen -t dsa –b 1024
Приватный ключ сохраняется в ~/.ssh/id_dsa или ~/.ssh/id_rsa, а публичный в ~/.ssh/id_dsa.pub или ~/.ssh/id_rsa.pub (для ключей DSA и RSA соответственно).
Для включения аутентификации по ключам публичный ключ должен быть помещен в файл ~/.ssh/authorized_keys на компьютер К КОТОРОМУ мы собираемся подключаться без пароля.
Копируем ключ на удаленный компьютер. Любыми безопасными методами.
Например:
$ scp ~/.ssh/id_rsa.pub user@(ip-адрес):~/.ssh/authorized_keys
Спросит пароль пользователя user.
Если используем ключи RSA то добавляем в файл authorized_keys:
$ cat id_rsa.pub >> authorized_keys
Если используем ключи DSA то добавляем в файл authorized_keys:
$ cat id_dsa.pub >> authorized_keys2
Настраиваем права доступа, хост зеркало:
$ chmod 700 ~/.ssh
$ chmod 600 authorized_keys
Проверяем соединение без пароля:
ssh -i ~/.ssh/id_dsa -p22 user@(ip-адрес)
четверг, 29 апреля 2010 г.
Chmod файлам и папкам
Требовалось назначить минимальные права на все содержимое каталога (каталогам 755, файлам 644 ).
find ./path -type f -exec chmod 644 {} \;
find ./path -type d -exec chmod 755 {} \;
среда, 28 апреля 2010 г.
Сервер обновлений нод32 на Linux
понедельник, 26 апреля 2010 г.
Сервер терминалов Windows 2008, 1C и wtware
http://interface31.ru/tech_it/2009/09/windows-server-2008-novie-vozmozhnosti-sluzhb-terminalov.html
http://interface31.ru/tech_it/2009/10/1s-predpriyatie-77-osobennosti-raboty-v-windows-7-vista.html
а это так.... для другого дела http://interface31.ru/tech_it/2009/11/linux-nastrojka-routera-nat-dhcp-squid.html
http://interface31.ru/tech_it/2009/10/1s-predpriyatie-77-osobennosti-raboty-v-windows-7-vista.html
а это так.... для другого дела http://interface31.ru/tech_it/2009/11/linux-nastrojka-routera-nat-dhcp-squid.html
Jabber server OPENFIRE
Скачиваем отсюда http://www.igniterealtime.org/downloads/index.jsp deb-пакет.
Ставим как обычно:
dpkg -i <имя>.deb
Если чего нехватает - будет ругаться на неудовлетворенные зависимости.
Тогда:
aptitude -f install
Заходим на адрес броузером: https://<айпи>:9091 и настравиваем сервер в режиме web-setup.
Запоминаем пароль. Входим на сервер и производим необходимые настройки сервиса.
Дополнительные сведения:
настройка http://www.tux.in.ua/articles/383
много http://forum.ru-board.com/topic.cgi?forum=8&topic=27991&start=2100
Ставим как обычно:
dpkg -i <имя>.deb
Если чего нехватает - будет ругаться на неудовлетворенные зависимости.
Тогда:
aptitude -f install
Заходим на адрес броузером: https://<айпи>:9091 и настравиваем сервер в режиме web-setup.
Запоминаем пароль. Входим на сервер и производим необходимые настройки сервиса.
Дополнительные сведения:
настройка http://www.tux.in.ua/articles/383
много http://forum.ru-board.com/topic.cgi?forum=8&topic=27991&start=2100
четверг, 22 апреля 2010 г.
Полный бэкап Linux системы
Для начала заходим в консоль из под рута, затем идём в корень системы и соответственно тарим все данные:
sudo su
cd /
tar jcvpf sys_backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/sys_backup.tar.bz2 --exclude=/mnt --exclude=/sys /
sudo su
cd /
tar jcvpf sys_backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/sys_backup.tar.bz2 --exclude=/mnt --exclude=/sys /
Если выполнять в screen то можно мониторить состояние в другом окне
watch -d -n2 "ls -sh | sort -r"
потом сливаем файл куда надо и спим спокойно.
среда, 21 апреля 2010 г.
Samba это не совсем танец
доп. инфа. http://www.osp.ru/lan/2000/03/130995/_p1.html
http://linux.yaroslavl.ru/docs/serv/samba/samba_conf.html
http://interface31.ru/tech_it/2010/03/sozdanie-fajlovogo-servera-na-ubuntu-910.html
#======================= Global Settings =====================================
[global]
;include = /usr/local/samba/lib/smb.conf.%m
workgroup = ALTEK
netbios name = baff01
server string = baff01
security = user
encrypt passwords = yes
;unix password sync = yes
hosts allow = 192.168.0. 127.0.0.1
interfaces = 127.0.0.1/255.255.255.0 192.168.0.1/255.255.255.0
log file = /var/log/samba/log.%m
max log size = 10
log level = 1
os level = 255
local master = yes
preferred master = yes
;domain master = no
;domain logons = yes
name resolve order = lmhosts host wins bcast
;logon script = %m.bat
;logon script = %U.bat
logon path = \\%L\Profiles\%U
;wins support = yes
dns proxy = no
socket options = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=16384 SO_RCVBUF=16384
;load printers = yes
;printcap name = /etc/printcap
;printcap name = lpstat
;printing = cups
Samba PDC на Debian http://linux.cpms.ru/index.php/section-table/35-debian/85-debiansambapdc
http://linux.yaroslavl.ru/docs/serv/samba/samba_conf.html
http://interface31.ru/tech_it/2010/03/sozdanie-fajlovogo-servera-na-ubuntu-910.html
#======================= Global Settings =====================================
[global]
;include = /usr/local/samba/lib/smb.conf.%m
workgroup = ALTEK
netbios name = baff01
server string = baff01
security = user
encrypt passwords = yes
;unix password sync = yes
hosts allow = 192.168.0. 127.0.0.1
interfaces = 127.0.0.1/255.255.255.0 192.168.0.1/255.255.255.0
log file = /var/log/samba/log.%m
max log size = 10
log level = 1
os level = 255
local master = yes
preferred master = yes
;domain master = no
;domain logons = yes
name resolve order = lmhosts host wins bcast
;logon script = %m.bat
;logon script = %U.bat
logon path = \\%L\Profiles\%U
;wins support = yes
dns proxy = no
socket options = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=16384 SO_RCVBUF=16384
;load printers = yes
;printcap name = /etc/printcap
;printcap name = lpstat
;printing = cups
#============================ Share Definitions ==============================
[homes]
comment = Only for YOU
browseable = no
writable = yes
hide dot files = yes
valid users = %S
create mask = 0644
directory mask = 0755
[1C-Bases]
comment = Allow all user
path = /home/shares/1C-Bases
writeable = yes
create mask = 0777
directory mask = 0777
[Documents]
comment = Allow all user
path = /home/shares/Documents
writeable = yes
create mask = 0777
directory mask = 0777
Samba PDC на Debian http://linux.cpms.ru/index.php/section-table/35-debian/85-debiansambapdc
Подписаться на:
Сообщения (Atom)